python中,对象的复制是传引用的,而且是一切,包括最简单的数字:
>>>a=1
>>>b=a
>>>id(a)
30300512
>>>id(b)
30300512
那么怎么给一个变量分配一个空间并且复制呢?这就是copy模块的作用
b=copy.copy(a)
但是,对于一个类,如果用copy,它只为类分配一个空间,类里面的属性依旧只是引用。
比如:
Aclass=copy.copy(Bclass)
但是id(Aclass.data)==id(Bclass.data)
要想完全复制,就要用copy.deepcopy()这个函数了