變數是什麼
變數:記錄事物變化的狀態。
類似數學中的解方程,最後求得x=1,意思就是x代表1。
為了讓計算機具備人的某項功能,能更好地完成人類下達的任務,由此誕生了變數。
變數怎麼宣告
# 變數名 賦值符號 變數值name = “Tom”
變數的命名規範
為了提高自己在程式設計師中的地位,切記不可用拼音。
為了提高自己在程式設計師中的地位,切忌不可用中文。
不可使用Python中的關鍵字。
不可數字開頭。
常用的命名風格
純小寫+數字+下劃線。變數名一般會採用這種方式。
駝峰體。第一個單詞小寫,其餘單詞首字母大寫。
純大寫。這一般是用來定義程式中的常量。注意,這是約定俗成的規範,不是Python本身的語法。
變數的特性
每個變數都有一個在記憶體中的地址,稱為:id。
每個變數在被賦值後都有不同型別,使用type內建方法可檢視。
判斷兩個變數是否相等,可以使用is和==。
is:判斷兩個變數是否屬於同一記憶體空間,即id是否相等。
==:僅僅判斷兩個變數的值是否相等。
>>> x = 1>>> y = 1>>> x is yTrue>>> x == yTrue>>> q = 666>>> p = 666>>> q is pFalse>>> q == pTrue
為什麼變數等於1的時候,is判斷相等呢?而變數等於666的時候,is判斷不相等呢?
再看一段程式碼:
>>> def jj():。。。 j = 666。。。 k = 666。。。 return j is k。。。>>> jj()True>>>
總結一下:
小整數池
[-5,256]是全域性直譯器範圍內被重複使用,永遠不會被GC回收。
同一個程式碼塊中的不可變物件,只要值是相等的就不會重複建立新的物件。
Python的關鍵字
總計35個關鍵字,列表如下:
1。 class
定義類
2。 def
用來定義方法
3。 import
4。 return
用來跳出函式,可同時返回一個值
5。 pass
類或者方法具體實現未想好時可以用pass暫代,避免報錯
6。 lambda
匿名函式,不想給函式起名字,如:lambda x,y: x*y
7。 yield
def fab(max): a,b = 0,1 while a < max: yield a a, b = b, a+b for i in fab(20): print i,“,”, # 結果0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 ,
8。 global
定義全域性變數,要給全域性變數賦值,就需要加上global
9。 from
匯入模組,import 或者 from。。。import
10。 if
11。 elif
12。 else
if a > b: print“a > belif a < b: print”a < b“else: print”a = b“
13。 for
for。。。in。。。一起使用,在一序列的物件上遞迴,遍歷佇列中的每個專案
14。 in
查詢類別中是否包含某個元素,或者字串a是否包含字串b,不可查詢list1是否包含list2
15。 None
16。 while
語序重複執行一塊語句,一般無限迴圈的情況使用它
17。 with
18。 as
with。。。as 代替傳統的try。。。finally語法,with所求物件必須有一個__enter__() 和一個__exit__()方法
19。 False
20。 True
21。 or
邏輯或
22。 and
邏輯與
23。 not
邏輯非
24。 continue
跳過continue後面迴圈塊中的語句,繼續進行下一輪的迴圈
25。 break
終止迴圈
26。 try
27。 except
28。 finally
try: f = open(‘xxx’)except:print‘fail to open’exit(-1)try:do somethingexcept:do somethingfinally: f。close()
29。 raise
可以顯示的丟擲異常,一旦執行raise語句,後面的程式碼就不執行了
30。 async
31。 await
32。 del
用於list列表操作,刪除一個或者連續幾個元素
33。 nonlocal
nonlocal是Python3新增的關鍵字,用於告知Python後面的變數定義在其他地方,不要在本函式中定義出一個新的區域性變數。
34。 is
Python中的物件包含三要素:id、type、value。id 用來唯一標識一個物件,type標識物件的型別,value是物件的值。is用來判斷物件a是否是物件b,用id來判斷。== 判斷物件的value是否相等。
35。 assert
斷言,如果斷言出錯則丟擲異常 AssertionError
點選↓↓↓