爲什麼下面的例子表現不同?Python中的靜態類變量和`self`
實施例1:foo
似乎表現得象一個類變量的特定於各種對象
class A:
foo = 1
a, b = A(), A()
a.foo = 5
print b.foo
----------------
Output: 1
實施例2:foo
似乎表現得象一個靜態類變量,它是對所有對象是相同的。也許這種行爲與作爲指針工作的列表有關。
class A:
foo = []
a, b = A(), A()
a.foo.append(5)
print b.foo
----------------
Output: [5]
實施例3:不工作
class A:
self.foo = []
a, b = A(), A()
a.foo.append(5)
print b.foo
----------------
Output: Error
不要忘記接受,+2代表你! :) –