2021-08-21

浅谈Python中的拷贝

拷贝:导入模块:import copy

拷贝分为浅拷贝和深拷贝
浅拷贝:对于不可变类型,不拷贝(内存地址不变)
对于可变类型,只拷贝第一层 (内存地址改变)
v = copy.copy(v1)
深拷贝:对于不可变类型,不拷贝
对于可变类型,不管第几层都拷贝
v = copy.deepcopy(v1)
特例:元组
元组:元组中无可变类型,不拷贝
元组中有可变类型,找到可变类型或者含有可变类型的元组,均拷贝

在函数中:

def func(arg):
    v1 = arg.copy() # 浅拷贝
    print(v1)
    
func([11,22,33,44])

由于列表有.copy()方法,故可以用

import    copy
def func(arg):
    v1 = copy.copy(arg)
    print(v1)
    
func("saks")

由于字符串没有.copy()方法,故需导入模块,使用copy.copy(参数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值