[英]Python id() with variable reference to an object
我對python比較陌生,想解決我和某人之間的糾紛。 假設您接受了考試或測驗,並出現以下問題:
問題32:在以下python [IDLE]示例中:
>>> x=52
>>> x
52
>>> id(x)
505404728
505404728是:
請提供解釋。 感謝大家!
id
返回一個整數,該整數guaranteed to be unique and constant for this object during its lifetime
>>> x = 52
>>> y = 52
>>> id(x)
12694616
>>> id(y)
12694616
不同的python實現(Cpython,Jython等)以不同的方式實現 - 例如cpython返回對象的內存地址。
更新:實際上,Christian Dean在評論中的答案更准確:答案是呃......“c”? 標簽x
是否有id,或者它是指向值52
的指針嗎?
我會說正確答案是c
。 id(x)
返回x
引用的對象的ID, 52
。 所以c
是正確的。 這就是為什么我沒有選擇其他人:
c
值是52
,而不是505409528
。 此外, x
不“保留”任何東西。 它是指對象52
的標簽。 x
自身沒有ID。 它只是一個標簽。 52
- 它標記或引用的對象 - 確實有一個ID。 將來,為了能夠完全理解和回答諸如您發布的問題之類的問題,您需要牢固了解Python中的變量。 事實資源是Ned Batchelder的一篇文章,名為Facts和關於Python名稱和價值觀的神話 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.