有人可以解释为什么Python执行以下操作吗?Python和对象/类attrs - 发生了什么?
>>> class Foo(object):
... bar = []
...
>>> a = Foo()
>>> b = Foo()
>>> a.bar.append(1)
>>> b.bar
[1]
>>> a.bar = 1
>>> a.bar
1
>>> b.bar
[1]
>>> a.bar = []
>>> a.bar
[]
>>> b.bar
[1]
>>> del a.bar
>>> a.bar
[1]
这很让人困惑!
哪一部分是混淆吗? – 2010-06-15 12:52:53
真的吗?很容易看出,如果有人在几乎任何其他OOP语言中花费时间,“bar”如何成为本地实例变量。 – Oli 2010-06-15 13:03:04
@Oli:没有时间在Python教程? – SilentGhost 2010-06-15 13:05:59