可變資料型別和不可變資料型別
阿新 • • 發佈:2020-09-03
不可變資料型別
數字number(含int、float、bool、complex)、字串string、元組tuple。
在同一程式碼塊下,不同變數的值若是相同且是不可變資料型別,那麼它們的id也相同,實際上它們都是同一個值的引用,這既節省了記憶體又提高了執行效率。舉例:
num1=1000
num2=1000
print(id(num1),id(num2))
out:
2321267850064 2321267850064
需要注意的是,在REPL互動環境下輸出結果不一致,這是因為在REPL互動環境每行程式碼都是獨立的程式碼塊。:
>>> num1=1000 >>> num2=1000 >>> print(id(num1),id(num2)) 2404872583088 2404872583472
可變資料型別
列表list、字典dict、集合set。
不同變數的值若是相同且是可變資料型別,那麼它們的id必不同,它們不能是同一個值的引用。
舉例:
>>> List1=[1,2,3]
>>> List2=[1,2,3]
>>> print(id(List1),id(List2))
2311885997568 2311885997696
>>> print(List1==List2)
True