本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Instance variables vs. class variables in Python
这两种情况的区别是什么?在Python中是如何处理的?
例1
1 2 | class MyClass: anArray = {} |
Ex2
1 2 3 | class MyClass: __init__(self): self.anArray = {} |
看起来第一个例子中的数组被当作一个静态变量。Python是如何处理这个问题的,原因是什么?
在第一个示例中,
在第二个例子中,
它被宣布为不同的地区。Ex1类似于全局变量或静态变量。
1 2 3 | obj = MyClass() obj2 = MyClass() print"IS one instance", id(obj.anArray) == id(obj2.anArray) |
Ex2是本地属性。
1 2 3 | obj = MyClass() obj2 = MyClass() print"IS one instance", id(obj.anArray) == id(obj2.anArray) |