目錄python
變量從字面上的意思就能夠理解成:是變化的量,描述世間萬物的狀態。優化
對於現實世界,必定是要有一個變量來描述世間萬物的。可是計算機爲何也要有變量的概念呢?其實計算機中程序的運行就是一系列狀態的變化,如王者榮耀中帳號等級0級到30級、廢鐵到王者;植物大戰殭屍中殭屍打着打着就死了。spa
既然知道了變量是什麼玩意,那咱們如何在python中定義變量呢?code
## 例子: name = 'mila' age = '19' height = '180' ##上面都是變量
從咱們上面的定義來看,變量能夠分爲如下三個部分:blog
變量名(接受變量值) = (賦值符號) 變量值內存
變量名:變量名用來引用變量值,但凡須要用變量值,都須要經過變量名。it
賦值符號:賦值class
變量值:存放數據,用來記錄現實世界中的某種狀態。import
# 只有變量名,賦值符號,變量值,會報錯,並且毫無心義 name + = 100
name = 'mila' age = '19' height = '180' print(name) print(age) print(height) #輸出: mila 19 180
變量是有必定的命名規範的必定要記住,定義一個變量其實就是在記錄現實世界中的狀態,而且存永遠不是目的,取才是目的。變量
變量的命名應該要知足如下三個條件:
變量的命名應該能反應變量值所描述的狀態。
變量名必須由字母數字下劃線組合,而且變量名的第一個字符不能是數字。
關鍵字不能聲明爲變量名。
變量名都具備可讀性(意思),存不是目的,取才是目的
查找關鍵字
import keyword print(keyword.kwlist)
==注意:能夠用中文命名,可是不建議使用==
身高 = 180 print(身高) #輸出: 180
AgoOfChen = 19 print(AgoOfChen)
19
age_of_chen = 19 print(age_of_chen)
19
==注意:以上倆種變量名的風格,推薦使用下劃線的風格==
對於每個變量,python都提供了這三個方法分別獲取變量的三個特徵,其中python的內置功能的id(),內存地址不同,則id()後打印的結果不同,由於每個變量值都有其內存地址,而id()是用來反映變量值在內存中的位置,內存地址不一樣則id不一樣。
x = 10
print(x)#獲取變量的變量值
print(id(x))#獲取變量的id,能夠理解成變量在內存中的地址
print(type(x))#獲取變量的數據類型,下章會詳細介紹數據類型
x = 10
print(x)# 獲取變量的變量值
name1 = 'egon' name2 = 'chen' print(name1 == name2) # 獲取變量的變量值
x = 11 y = x z = 11 print(x == y) #True
True
print(x is y)#True
True
print(x is z)#True
True
x = 257 z = 257 print(x is z) #False
Talse
從上述的打印消息能夠看出:id相等的變量,值必定相等,指向的是同一個內存地址;值相等的變量,id不必定相等。
某種在第一次打印print(x is z)的時候就觸發了整數池,這能夠理解成python的優化機制,11的值自己不大,而且因爲咱們快速的再一次使用了11,在因爲申請內存空間須要計算機開銷,所以python讓x和z都指向同一個11,所以存不是目的,取才是目的,這樣進行優化的話並不會影響程序的運行。
a = 10 b = 10 c = 10 d = 10 print(f'a:{a},b:{b},c:{c},d:{d}')#a:10,b:10,c:10,d:10 輸出:a:10,b:10,c:10,d:10
a = b = c = d = 10 print(f'a:{a},b:{b},c:{c},d:{d}')#a:10,b:10,c:10,d:10 輸出:a:10,b:10,c:10,d:10
#中間變量的思想 x = 100 y = 200 temp = x x = y y = temp print(f'x:{x}') #x:100 print(f'y:{y}') #y:200 輸出: x:100 y:200
## 交叉賦值 x = 100 y = 200 x, y = y, x print(f'x:{x}') print(f'y:{y}') 輸出: x:100 y:200