python中的类实例列表 我是Python的新手,更习惯于C++。我想创建一个实例列表,并执行了以下操作: from copy import deepcopy class C: c1="" c2="" Cs=[] C.c1="Hello" C.c2="World" Cs.append(deepcopy(C)) C.c1="Why" C.c2="this?" Cs.append(deepcopy(C)) for c in Cs: print (c.c1, c.c2)

python中的类实例列表 我是Python的新手,更习惯于C++。我想创建一个实例列表,并执行了以下操作: from copy import deepcopy class C: c1="" c2="" Cs=[] C.c1="Hello" C.c2="World" Cs.append(deepcopy(C)) C.c1="Why" C.c2="this?" Cs.append(deepcopy(C)) for c in Cs: print (c.c1, c.c2),python,deep-copy,Python,Deep Copy,我期望得到以下结果: Hello World Why this? 但是得到: Why this? Why this? 为什么深度拷贝不起作用?c1和c2变量只有一个(在Java/C++意义上的静态)拷贝。阅读并在你的代码中加入更多的selfs来修复它。顺便说一句,你没有制作任何C类的实例。Python类与C++有点不同,谢谢指点这个教程。我已经将我的代码从copy import deepcopy class C改为:pass Cs=[]iC=C()iC.c1=“Hello”iC.c2=“Wo

我期望得到以下结果:

Hello World
Why this?
但是得到:

Why this?
Why this?

为什么深度拷贝不起作用?

c1和c2变量只有一个(
在Java/C++意义上的静态
)拷贝。阅读并在你的代码中加入更多的
self
s来修复它。

顺便说一句,你没有制作任何
C
类的实例。Python类与C++有点不同,谢谢指点这个教程。我已经将我的代码从copy import deepcopy class C改为:pass Cs=[]iC=C()iC.c1=“Hello”iC.c2=“World”Cs.append(deepcopy(iC))iC.c1=“为什么”iC.c2=“这个?”Cs.append(deepcopy(iC))for C in Cs:print(C.c1,C.c2)`在python中,这是做这种事情的首选方法吗?