【发布时间】:2015-03-29 14:39:08
【问题描述】:
我最近刚接触 python。以前我所有的编程知识都仅限于 Java。所以在这里我有一个关于 Python 中的对象变量的问题。我知道 Python 中的对象变量在类实例上共享。例如。
class A:
list=[]
y=A()
x=A()
x.list.append(1)
y.list.append(2)
x.list.append(3)
y.list.append(4)
print x.list
[1,2,3,4]
print y.list
[1,2,3,4]
所以我的问题是A.list 有多少内存副本?只有 1 个或与实例数一样多? python共享行为中的对象变量就像Java的静态类变量一样,这两个概念是相同还是不同?如果不同,它们之间有什么区别?
【问题讨论】: