Python-day2

weixin_34377065發表於2018-09-26

一、常用的快捷鍵 (不是隻在python中有效)

ctrl+/      新增註釋/取消註釋

ctrl+s      儲存

ctrl+b      編譯

ctrl+r      執行(編譯+執行)

ctrl+c      複製/拷貝

ctrl+v      貼上

ctrl+x      剪下

ctrl+z      撤銷

ctrl+shinf+z 反撤銷

ctrl+y      反撤銷

ctrl+f      查詢

ctrl+a      全選

ctrl+n      新建

shift        可以選中部分(和滑鼠配合,選中開始和結束中間的部分)。

ctrl        可以讓多個位置出現游標(和滑鼠配合)。

二、python的基本語法

1.註釋(寫在程式碼中不參與編譯執行的部分就是註釋,作用用來對程式碼進行註釋說明,方便程式更好的閱讀程式碼)

注意:要勤寫註釋,方便自己也方便別人!

a.單行註釋:在文字內容的前面加#號。

b.多行註釋:

每一行前都加一個#號

將註釋放在三個單引號/三個雙引號中(推薦使用雙引號) 例子如下:

"""

我是註釋1

我是註釋2

"""

'''

我是註釋1

我是註釋2

'''

2.識別符號:識別符號是用來命名的(比如變數名、函式名、類名)

要求:a.有字母 數字 下劃線組成,並且數字不能開頭 ---python2.x規範

b.在Unicode編碼中,出來ASCTII碼錶中的字母 數字 下劃線以外不能作為識別符號的一部分,其他的都可以。數字不能開頭(有字母數字下劃線和中文組成,數字不能開頭)  ---python3.x規範

注意:在實際開發中,現在還是推薦使用python2.x的規範。

3.語句。

c/java語法,每條語句結束必須加分號。

python中一條語句可以加分號也可以不加;如果一行要顯示多條語句,那麼每條語句之間必須加分號。

4.行和縮排。

python中對縮排有嚴格規範,要求同樣等級的程式碼對應的縮排必須一致;只有在需要產生程式碼塊的時候才需要加縮排。

行:要求函式的宣告和類的宣告的前後需要有兩個空行(不要報錯)。

5.多行顯示問題。

a.在需要換行的位置加個\,然後再換行(\不要破環資料本身)。

b.如果是陣列 字典 元祖和集合的值可以直接換行。

6.常見的資料型別及其字面量。

整型(int) 浮點型(float) 字串(str) 布林(bool) 列表(list) 字典(dict)。

整型:相當於數學中的整數,列如:100,-12,+30。

浮點型:帶小數點的數,列如:12.5 ,3.14,0.23。

布林型:只有兩個值分別是True(真)和False(假)。

字串:用單引號或者雙引號括起來的資料,列如:'100','abc',"abc100"。

7.關鍵字(保留字)

在python中有特殊功能和特殊意義的一些識別符號(單詞)。

import keyword              匯入keyword模組

print(keyword.kwlist)      列印所有

['false','none','true','and','as','assert','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambad','ninlocal','not','or','pass','raise','return','try','while','with','yield']

# 注意:在上面[]中的內容才是關鍵字,其他的不是。

三、數字型別

不同的型別所佔的儲存空間不同。

1.python中的數字型別有四個:整型(int)、浮點型(float)、布林(bool)、 複數(complex)。

a.整型(int):包含python所有的整數,python3.x整型只有int型別一種,但是python2.x出來int還有long。如:100,-100,+54。

b.浮點型(float):包含python所有的小數.如:12.89,-123.98,+237.89。

注意:浮點型支援科學計數法.如下:

print(12e2)       注:12e2=12*10^2

print(12e-3)      注:12e-3=12*10^(-3)

c.布林(bool):布林型別的值只有兩個,分別是True(真)和False(假)。

注意:布林值的首字母是大寫的。

True對應的數值是1,False對應的數值是0。

d.複數(complex)

複數:有實部和虛部組成的數字。如:10+10j

2.type(數值/變數);獲取括號中值的型別。

print(type(10j))      獲取型別為complex(複數)

print(type(100))     獲取型別為int(整型)

print(type(True))    獲取型別為bool(布林型)

print(type(2e2))      獲取型別為float(浮點型)

3.型別名():將其他的型別的資料轉換成當前型別。

print(int(12.6))          獲取的答案為:12

print(bool(10))           獲取的答案為:True

print(float(100))         獲取的答案為:100.0

print(complex(20))     獲取的答案為:20+0j

注意:複數不能轉換為整型和浮點型資料型別。

四、變數

1.什麼是變數

宣告變數,就是在記憶體中開闢空間儲存資料。變數就是程式在記憶體中儲存資料的容器。

2.怎麼宣告變數?

C/Java宣告變數:型別 變數名=初值;

python宣告變數:變數鳴=初值

變數名=初值

說明:a.變數名:程式設計師自己命名,要求是識別符號,並且不能是關鍵字;所有的字母必須小寫,如果變數名是多個單片語成,多個單詞之間用下劃線隔開;見名知義(看見變數名,要知道這個變數大概存的什麼樣的資料)。

b.=:賦值符號,功能是將=右邊的值賦給左邊的變數。

c.初值:有值的表示式(具體的字面量,其他已經宣告過的變數)。

宣告一個變數並且賦值為100。如下:

number=100

print(number)     輸出的值為100

True=12.5    錯誤為:SyntaxError: can't assign to keyword

1abc=True    錯誤為:SyntaxError: invalid syntax

宣告一個變數student_name,賦值為'小明'。

注意:雖然int、float、bool、str、等不是關鍵字,但是在需要命名的時候最好用他們來命名。

student_name='小明'

print(student_name)

3.宣告完一個變數可以給變數重新賦值。

重新賦值後,新的值會覆蓋變數中原來的值。

student_name='小花'

print(student_name)

python中,同一個變數可以儲存不同型別的值。

student_name=100

print(student_name)

4.同時宣告多個變數。

變數名1=變數名2=變數名3-初值

如:a=b=c=123

print(a,b,c)   print同時列印多個資料,多個資料自己用逗號隔開。

將變數student_name中的值,賦給new_name。

new_name=student_name

注意:變數只有在賦完值後才能使用(只能宣告後才能使用)。

print(new_name2)  錯誤為:NameError: name 'new_name2' is not defined


五、運算子

python中運算子:數學運算子、比較運算子、邏輯運算子、賦值運算子、位運算。

1.數學運算子:+,-,*,/,%(取餘),//,**。

a.+;求和,和數學中的加號一樣。

b.-:求差,和數學中的減號一樣。

 c.*:求乘積,和數學中的乘號一樣。

d./:求商,和數學中的除號一樣。

注意:和c語言中的/不一樣。

 e.%:求餘數。

注意:python中小數和整數可以求餘數。

print(5%2)           輸出的結果為:1

print(5.5%2)        輸出的結果為:1.5

f.//:求商,結果只取商的整數部分。

print(5//2)            輸出的結果為:2

# g.**(冪運算):求冪。

x**y:求x的y次方。

技巧:可以通過把y的值設定為1/2(0.5)來求一個數的開平方。例子如下:

print(2**3)               輸出的結果為:8

print(100**0.5)          輸出的結果為:10.0

2.比較運算子:>,<,==,!=,>=,<=。

比較運算的結果是布林值:True/False。

==:判斷左右兩邊的值是否相等,=:將右邊的值賦給左邊的變數。

 3.邏輯運算子:and(與),or(或),not(非)。

邏輯運算子的結果也是布林值,運輸物件也必須是布林值。

 a.and:值1 and 值2 :兩個都是True,結果才是True,否則都是False。

print(True and True)         輸出的結果為:True

print(True and False)        輸出的結果為:False

print(False and True)       輸出的結果為:False

print(False and False)       輸出的結果為:False

練習:設定獲得獎學金的條件:績點在3.5以上,並且操評分高於90。

grade=3.8

score=95

 # 條件1:

grade>3.5

# 條件2

score>90

print(grade>3.5 and score>90)          輸出的結果為:True

注意: 什麼時候使用and:要求多個條件同時滿足的時候使用and連線。

b.值1 or 值2:兩個都是False的時候才是是False,否則為True。

print(False or False)      輸出的結果為:False

print(False or True)        輸出的結果為:Ture

print(True or True)         輸出的結果為:True

練習:是否穿毛衣出門:溫度低於20度,或者風速高於五級。

temperature=22

wind_speed=6

# 條件1

condition1=temperature<20

# 條件2

condition2=wind_speed>5

print(condition1 or condition2)       輸出的結果為:True

注意:什麼時候使用or:要求多個條件中有一個條件滿足。

3.not值:值取反(True->False;False->True)。

print(not True)           輸出的結果為:False

print(not False)         輸出的結果為:True

age=18

# 條件:年齡不大於18

print(age<=18)或者print(not age>18) 

注意:否定某個條件時用not。

4.python中and和or會有短路現象。

and的短路現象:值1 and 值2 -->一旦確定值1的值是False,就不會再去執行判斷值2。

or的短路現象:值1 and 值2 -->一旦確定值1的值是Ture,就不會再去執行判斷值2。

5.賦值運算子:=,+=,—=,*=,%=,//=,**=。

賦值運算子的左邊必須是變數,賦值的時候是先算賦值符號右邊的結果,然後再將結果賦給左邊的變數。

a.=:單純的將=右邊的值賦給左邊。

b.+=,—=,*=,%=,//=,**=

要求左邊的變數本身必須有值。

num=100

num+=10

print(num)    相當於:num=num+10

num1=4

num1*=2

print(num1)    相當於:num1=num1+2

6.運算子的優先順序:

a.數學運算子>比較運算子>邏輯運算子>賦值運算。

b.先計算優先順序高的,如果優先順序相等就從左往右依次運算。

c.如果有括號,先算括號裡面。

d.數學運算子:**>*,*,/,%,//>+,-。


六、今日作業

1.寫程式碼獲取數字1234中的十位上和百位上的數字?

x=1234

求十位上的數字:

print(x//10%10)

求百位上的數字

print(x//100%10)

2.如果變數n的值是6784, 以下表示式的結果是多少?

n / 1000 % 100    結果為:6.784

n % 1000 / 100    結果為:7.84

n // 100 % 10      結果為:7

n // 10  % 100 // 10     結果為:7

3.表示式 10 / 4 + 23 // 4 * 2 - 30 的結果是多少?

print(10 / 4 + 23 // 4 * 2 - 30)     結果為:17.5 

4.寫出下面每一行中n3的結果:

n1 = 4; n2 = 5

n3 = n1 >n2    結果為:False

n3 = n1<n2     結果為:True

n3 = n1==4     結果為:True

n3 = n1!=4     結果為:False

n3 = n1 == 1+3    結果為:True

5.寫出以下程式碼執行完成後,num的結果

num  = 10

num /= 2 

num += 10 * 10 / 4 + 2*3**2    結果為:48

6.下面定義變數正確的是(a)

a. a = b = c = 10

b. a, c = 10

c. in = 20

d. num = 10; t = 20