我只是在iPython控制台中使用id()
函数。假设我们有变量foo
和bar
:
foo = 2
id(foo)
Out[38]: 2007329888
bar = 4
id(bar)
Out[40]: 2007329952
毫无疑问,foo
和bar
具有不同的ID。如果我们将bar
的值更改为2,则两个变量现在将具有相同的ID:
bar = 2
id(bar)
Out[42]: 2007329888
id(foo)
Out[43]: 2007329888
好,现在我们将两个变量都更改为其他值。现在id 2007329888没有与任何变量关联:
foo = bar = True
id(foo)
Out[45]: 2006839456
id(bar)
Out[46]: 2006839456
但是如果我们给新变量赋值为2,它将链接到相同的旧ID:
bla = 2
id(bla)
Out[48]: 2007329888
因此,我对所有这些问题的回答是:
谢谢!