为什么下面的例子表现不同?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代表你! :) –