1:變量的定義
Python是一種動態(tài)類型語言,類型是在運行時自動決定的,而不是通過代碼聲明的。所以在Python中運行賦值語句 a=100 不需要給a聲明類型;
一個變量,也就是變量名,在第一次給它賦值的時候就創(chuàng)建了它,并且它指向了被賦值的對象,之后的賦值,只是把它指向不同的對象而已,它自己還是自己,同時它可以指向不同類型的對象;也就是說變量就是對象的引用,變量沒有數(shù)據(jù)類型,它指向的對象才有類型;
2:變量的賦值過程及使用
在給變量賦值時會執(zhí)行如下步驟:
如:a = 100

image.png
在執(zhí)行a = 100 之后 a = 200 ,a不再指向?qū)ο?00,a指向?qū)ο?00,Python中的垃圾回收機制會對對象100進行回收;

image.png
在執(zhí)行
a = 100 之后 b=a

image.png
變量的使用,也叫變量的引用。當變量出現(xiàn)在表達式中的時,它會被當前引用的對象所代替,不管這個對象是什么類型。因此必須在使用之前給變量賦值,也就是說變量使用之前必須指向一個對象;
總結(jié):
變量在首次賦值的時候才被創(chuàng)建,變量沒有類型,它可以指向(引用)任何類型的對象,并且必須在引用(使用)之前賦值。
3:變量的命名規(guī)則
a:變量名由數(shù)字,字母,下劃線組成
b:變量名不能以數(shù)字開頭
c:變量名區(qū)分大小寫
d:變量名不能是Python關鍵字
Python有哪些關鍵字?
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>>
4:對象
在Python中一切皆對象。在Python中變量是沒有類型的,有類型的是對象。
比如: a = 100 在創(chuàng)建的對象100中,會有類型標志,引用次數(shù)字段。(如下圖)

image.png