Python,形参,实参,值传递,地址传递
1.值传递
在实参向形参传递的过程中,传递的只是实参的值,而在函数体操作的时候,实际操作的并不是实参而是形参,所以,值传递不改变原变量值。
2.地址传递
在实参向形参传递的过程中,传递的是实参的地址,实参和形参共同指向同一块地址,所以,在函数内部修改形参的同时也修改了实参,即,地址传递会改变原变量。
在python中,数据有两种类型:mutable(可变) 和 immutable (不可变)
list ,dict是mutable的;
int , string , float ,tuple是inmutable 的。
在函数参数的传递过程中:
对于inmutable object ,函数参数传递是值
对于mutable object,函数参数传递是地址
参考: