【发布时间】:2014-02-08 01:44:47
【问题描述】:
假设我有两个模块a.py 和b.py。 b应该是a的副本。
假设这是a的内容:
#a.py
class Original(object):
name = 'original'
复制a 的最明显方式是这样的:
#b.py
from a import *
但这并没有真正复制a,例如
>>>import a, b
>>>#this changes a.Original.name as well
>>>b.Original.name = 'FOOBAR'
>>>a.Original.name == 'FOOBAR'
True
所以我的问题是如何制作真正的副本?
【问题讨论】:
-
模块只加载一次,类变量每个类只创建一次。
-
你为什么要这样做?
-
您似乎正在尝试使用通常使用类的模块。类支持多个实例,但模块不支持。