阅读http://www.effbot.org/zone/python-objects.htm后,我留下了这个问题:
在 python 中,如果a=1
创建一个整数对象并将其绑定到 name a
,b=[]
创建一个空列表对象并将其绑定到 name b
,当我调用 eg 时会发生什么c=[1]
?
我想这会创建一个 list-object 并将其绑定到 name c
,但究竟是如何1
处理的呢?列表对象的实际内容在幕后是什么样子的?它是由整数对象还是对“单独”整数对象的引用组成?可以将例如c[0]
视为绑定到列表项的名称吗?
那么以下内容呢:
d=1 # creates int(1)-object and binds it to d
e=[d] # creates list-object and binds it to e, but what happens with d?
列表对象(命名e
)的内容是对被调用的整数对象的引用d
还是新的整数对象?
我想答案就在上面提到的来自 Lundh 先生的这句话中,但我仍然有点困惑:
然后,您在该对象上调用一个方法,告诉它将一个整数对象附加到自身。这会修改列表对象的内容,但不会触及命名空间,也不会触及整数对象。
我也相信部分答案可以在这里找到:Python;名称绑定不是对象引用?,但我仍在寻找更多的见解。