是否可以手动更改与ID相关联的值?

时间:2020-06-26 01:02:53

标签: python python-3.x

我只是在iPython控制台中使用id()函数。假设我们有变量foobar

foo = 2
id(foo)

Out[38]: 2007329888

bar = 4
id(bar)

Out[40]: 2007329952

毫无疑问,foobar具有不同的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

因此,我对所有这些问题的回答是:

  1. Python如何决定何时不再需要与id关联的值并且可以将其重写,还是将所有id和关联值保留到会话结束?
  2. 是否可以手动指定和覆盖与ID相关联的值? (我很确定答案是“否”,但只想检查一下即可。)

谢谢!

0 个答案:

没有答案