引用

引用

不可变数据类型中的引用

在python中,值是靠引用来传递来的。id(变量)返回变量对应的内存地址标识。

整型,不可变类型。值是靠引用传递的
a = 1
b = a

print(id(a)) # a和b的id值是一样的
print(id(b))

a = 2 # 修改了a的值
print(b) # 1

print(id(a)) # a和b的id值是不一样的
print(id(b))

可变数据类型的引用

# 列表,可变数据类型
aa = [10, 20]
bb = aa

print(id(aa)) # aa和bb内存地址一样
print(id(bb))

aa.append(30) # [10, 20, 30]

print(bb) # [10, 20, 30] 因为列表是可变类型,当aa修改时,bb的值也会变

print(id(aa)) # 内存地址aa和bb相同,并且和修改之前是一样的
print(id(bb))

引用当作实参

def test1():
	print(a)
	print(id(a))

	a += a
	print(a)
	print(id(a))

b = 100
test1(b)

c = [11, 22]
test1(c)