目錄python
對於每一個變量,python都提供了這三個方法分別獲取變量的三個特徵,其中python的內置功能id(),內存地址不同,則id()後打印的結果不同,由於每個變量值都有其內存地址,而id是用來反映變量值在內存中的位置,內存地址不一樣則id不一樣。優化
x = 10
print(x) # 獲取變量的變量值
print(id(x)) # 獲取變量的id,能夠理解成變量在內存中的地址
print(type(x)) # 獲取變量的數據類型,下章會詳細介紹數據類型
x = 10
print(x) # 獲取變量的變量值
10
name1 = 'egon' name2 = 'nick'
print(name1 == name2) # False
False
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
False
從上述的打印消息能夠看出:id相等的變量,值必定相等,指向的是同一個內存地址;值相等的變量,id不必定相等。code
其中在第一次打印print(x is z)
的時候就觸發了上一章講的整數池。這能夠理解成python的優化機制,11的值自己不大,而且因爲咱們快速的再一次使用了11,再因爲申請內存空間須要計算機開銷,所以python讓x和z都指向同一個11。由於存不是目的,取才是目的,這樣進行優化的話並不會影響程序的運行。內存