python深拷贝,浅拷贝
1.浅拷贝,
首先要引用copy包
from copy import copy
class A:
def __init__(self):
self.A=1
self.B=2
a = A()
copy(a)返回的就是浅拷贝,此操作是通过重新构造参数,然后重新创建对象,不走init
如果是单例的对象我们不希望这个对象被拷贝,那么可以覆盖object默认的__reduce__方法,方法中可以抛出异常,来阻止内存的拷贝
深拷贝用from copy import deepcopy 禁用时需要覆盖 __reduex_ex__方法