from copy import copy, deepcopy # 理解深浅拷贝 # 浅拷贝:只拷贝引用类型对象的指针,不拷贝引用类型对象指向的值(只拷贝第一层) # 深拷贝:同时拷贝引用类型对象及其指向的值 # 引用类型:Python中表现为:list、dict、、set、类对象 a = [1, 2, 3, 3, 4] b = a a[1] = 1000 # [1, 1000, 3, 3, 4] b # [1, 1000, 3, 3, 4] s = set([1, 2, 3, 4]) s1 = s s.add(20) print(s1) class Clone: """克隆的基类: 只要继承该类,就可以进行深浅拷贝 优点:克隆模式通过内存的拷贝的方式进行复制,比new的方式创建对象性能更好;通过深拷贝的方式,可以方便地创建一个具有相同属性 和行为的另一个对象,特别是对于复杂对象,方便性尤为突出 """ def __init__(self): super().__init__() def clone(self): return copy(self) def deepClone(self): return deepcopy(self) class People(Clone): def __init__(self, name): self._name = name def getName(self): return self._name def setName(self, name): self._name = name will = People("Will") will2 = will.clone() will2.setName("Tom") print(will.getName())
原文:https://www.cnblogs.com/loveprogramme/p/12977353.html