python--python在传递参数时实际做了什么?(持续更)
一,什么是形式参数和实际参数?
形式参数:形参是在定义函数时使用,形参的命名只要符合“标识符”命名规则即可
实际参数:调用函数时,传递的参数称为“实际参数”
二,参数传递的实质
函数的参数传递本质上就是:从实参到形参的赋值操作。python中“一切皆对象”,所有的赋值操作都是“引用的赋值”。所以,python中的参数传递都是“引用传递”,不是“值传递”。具体分为如下两类:
可变对象:
对“可变对象”进行“写操作”,直接作用于对象本身
对“不可变对象”进行“写操作”,会产生一个新的“对象空间”,并用新的值填充这块空间(起到其他语言的“值传递”效果,但不是“值传递”)
可变对象:字典,列表,集合,自定义对象
不可变对象:数字,字符串,元组,function等