2012-02-28 11 views
1

我只是在玩id()函數&,注意到如果你傳遞一個你尚未賦值給變量的值,而不是給出錯誤,它會返回一個內存地址。 那麼id()函數將該值賦給一個空的內存位置?Python中的id()函數是否創建新值?

>>> print id(18) 
14569728 
>>> b = 18 
>>> print id(b) 
14569728 
>>> print id('check') 
140297315282112 
>>> c = 'check' 
>>> print id(c) 
140297315282112 

回答

5

值/文字對象,所以id()總是返回一個有效的結果他們。除此之外,在CPython中,從-1到256的整數文字以及短字符串文字是interned,因此它們在第一次被訪問後將具有常量ID。

相關問題