02-什么是传递引用与复制
# 什么是传递引用?
a = 10
b = 10
print(id(a)) # id(a)查看a的内存地址
print(id(b))
# 当两个变量的数值相同时,它们就共用一个存放数值的内存空间
# 也就是b没有重复去存放10这个数据,而是引用了a的内存地址。即 b=10 的指针实际上是指向了a的内存地址。
# 这样设计的好处是:节省了内存空间
# 定义列表
a = [1, 2, 3, 4]
print(a, id(a))
b = a # 赋值操作时,b引用了a的存储的内存地址
print(b, id(b))
# 拷贝
import copy # 导入copy模块
a = [1, 2, 3, 4, 5]
a_copy = copy.copy(a)
print(a_copy, id(a), id(a_copy))
# 拷贝后,内存地址值是不同的,这是和引用的区别