def change(val):
val.append(100)
val = ['T', 'Z', 'Y']
nums = [0, 1]
change(nums)
print(nums)
运行结果:[0, 1, 100]
def swap(x,y):
t=x
x=y
y=t
a=1
b=2
swap(a,b)
print(a,b)
运行结果:1 2
参数传递的是变量所指向的对象的地址。
Python中的对象有不可变对象(number,string,tuple等)和可变对象之分(list,dict等)。
有下面的规律:
1. 不可变对象作为函数参数,相当于值传递。
2. 可变对象作为函数参数,相当于引用传递。