Python-06-變數

變數是什麼

變數:記錄事物變化的狀態。

類似數學中的解方程,最後求得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的關鍵字

Python-06-變數

總計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

點選↓↓↓