Python的拷贝方式有三种:深拷贝、浅拷贝和赋值。深拷贝和浅拷贝是Python中常见的拷贝操作,而赋值是Python中最基本的操作。
深拷贝
深拷贝是指拷贝的是对象及其子对象,而不仅仅是引用。深拷贝会创建一个新的对象,而不会影响原有对象。深拷贝的实现方法有两种:使用copy模块中的deepcopy函数,或者使用pickle模块。
# 使用copy模块中的deepcopy函数 import copy a = [1,2,3] b = copy.deepcopy(a) print(b) # [1,2,3] # 使用pickle模块 import pickle a = [1,2,3] b = pickle.dumps(a) c = pickle.loads(b) print(c) # [1,2,3]
浅拷贝
浅拷贝是指拷贝的只是对象本身,而不拷贝其子对象。浅拷贝只会创建一个新的引用,而不会创建新的对象。浅拷贝的实现方法有两种:使用copy模块中的copy函数,或者使用切片操作。
# 使用copy模块中的copy函数 import copy a = [1,2,3] b = copy.copy(a) print(b) # [1,2,3] # 使用切片操作 a = [1,2,3] b = a[:] print(b) # [1,2,3]
赋值
赋值是指将一个变量的值赋给另一个变量,使两个变量的值相同。赋值的实现方法非常简单,只需要使用等号“=”即可。
a = [1,2,3] b = a print(b) # [1,2,3]
以上就是Python中深拷贝、浅拷贝和赋值的区别和示例。深拷贝和浅拷贝能够创建新的对象,而赋值只是创建了一个新的引用。