變量的三個特徵

對於每一個變量,python都提供了這三個方法分別獲取變量的三個特徵,其中python的內置功能id(),內存地址不同,則id()後打印的結果不同,由於每個變量值都有其內存地址,而id是用來反映變量值在內存中的位置,內存地址不一樣則id不一樣。優化

x = 10
print(x)  # 獲取變量的變量值
print(id(x))  # 獲取變量的id,能夠理解成變量在內存中的地址
print(type(x))  # 獲取變量的數據類型,下章會詳細介紹數據類型

1、打印(一)

x = 10
print(x)  # 獲取變量的變量值
10

2、判斷變量值是否相等用(二)

name1 = 'egon'
name2 = 'nick'
print(name1 == name2)  # False
False

3、判斷變量id是否相等(三)

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。由於存不是目的,取才是目的,這樣進行優化的話並不會影響程序的運行。內存

相關文章
相關標籤/搜索