『python』python基础教程(2) — 基础知识整理


前言

对 python 常用的一些基本知识进行说明整理

『python』python基础教程(1) — 基本数据结构

一、深拷贝与浅拷贝

1.1 直接赋值

仅仅拷贝了引用,因此前后变量没有任何隔离,原 list 改变,拷贝的变量也会发生变化。

1.2 浅拷贝

使用 copy() 函数,拷贝了 list 最外围,而 list 内部的对象仍然是引用。

1.3 深拷贝

使用 deepcopy() 函数,list 内外围均为拷贝,因此前后的变量完全隔离,而非引用。

# 示例 demo
import copy 
a = [1, 2, ["a","b"]]
b = a		# 直接赋值,变量前后没有隔离
c = copy.copy(a)		# 浅拷贝
d = a[:]				# 相当于浅拷贝,与 c 相同
e = copy.deepcopy(a)	# 深拷贝,前后两个变量完全隔离

a.append(3)
a[2].append("c")

print(a)	# [1, 2, ["a", "b", "c"], 3]
print(b)	# [1, 2, ["a", "b", "c"], 3]
print(c)	# [1, 2, ["a", "b", "c"]]
print(d)	# [1, 2, ["a", "b", "c"]]
print(e)	# [1, 2, ["a","b"]]

Note: 还没理完,比较忙,抽空继续更新 fighting…

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

libo-coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值