参数的传递
函数的参数的传递本质上就是:从实参到形参的赋值操作。Python中一切皆对象,所有的赋值操作都是引用的赋值。所以,Python中参数的传递都是引用传递,不是值传递
具体操作时分为两类:
- 对可变对象进行写操作: 直接作用于原对象本身
- 对不可变对象进行写操作:会产生一个新的对象空间,并用新的值填充这块空间。
可变对象有:
字典,列表,集合,自定义对象等
不可变对象有
数字,字符串,元组,fuction等
传递可变对象的引用
在函数体中不做新对象的创建,而是直接可以修改可传递的对象
1 a = [10,20] 2 3 print(a) 4 print(id(a)) 5 print("************************************************") 6 7 def text(m): 8 print(id(m)) 9 m.append(300) 10 print(id(m)) 11 12 13 text(a) 14 print(a)