python 函数传参有点迷,它不能像c++一样可以由程序员自己选择传参的方式,而是会根据你传入的参数的类型自己选择传参方式。
如果传入的参数是可变对象,这时相当于c++里的传址或者传引用,所以对形参的操作也会改变实参的值。如果传入的参数是不可变对象,那么就
比如下面代码:
def f(a):
a.append('1')
a = ['0']
f(a)
print(a)
f(a)
print(a)
'''
['0', '1']
['0', '1', '1']
'''
python 函数传参有点迷,它不能像c++一样可以由程序员自己选择传参的方式,而是会根据你传入的参数的类型自己选择传参方式。
如果传入的参数是可变对象,这时相当于c++里的传址或者传引用,所以对形参的操作也会改变实参的值。如果传入的参数是不可变对象,那么就
比如下面代码:
def f(a):
a.append('1')
a = ['0']
f(a)
print(a)
f(a)
print(a)
'''
['0', '1']
['0', '1', '1']
'''