『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…

猜你喜欢

转载自blog.csdn.net/libo1004/article/details/112310848