有人可以解釋爲什麼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