值传递:不可变数据类型在函数内部修改后,源值不会发生变化
引用传递:可变数据类型在函数内部修改后,源值会发生变化
具体看代码:
a = 123 #a为不可变数据类型
b = {'name1':'right','name2':"Lau"} #b为可变数据类型
def test_demo(x,y): #在函数中改变a,b的值
x = 3456
y['name1'] = 'you'
test_demo(a,b) #调用函数
print(a)
print(b)
#执行结果为
123 #a的值没有发生变化,是值传递
{'name1': 'you', 'name2': 'Lau'} #b的值发生了变化,是引用传递