#在函数内部,针对参数使用赋值语句,不会影响调用函数时传递的实参变量 #如果传递的参数是可变类型,在函数内部,使用方法修改了数据的内容,会影响外部数据 #在python中,列表变量调用+=,本质上是在执行列表变量的extend方法,不会修改变量的引用 list=[23,45]; def change(list): list.append(9); print(list); change(list); print("hanshu外部:") print(list) 结果为:
[23, 45, 9] hanshu外部: [23, 45, 9]
#多个参数的传递,*args接收元祖,**kwargs:接收字典 def duoparam(num,*args,**kwargs): print(num); print(args) print(kwargs); duoparam(1,2,3,4,5,name="liu",age=34,b=True); 结果为:
1 (2, 3, 4, 5) {'name': 'liu', 'age': 34, 'b': True}
#拆包,在实参的元祖前面加*,在字典前面加** def duoparam(num,*args,**kwargs): print(num); print(args) print(kwargs); array=(2,3,4,5); map={"name":"liu","age":34}; duoparam(1,*array,**map);
结果为:
1
(2, 3, 4, 5)
{'name': 'liu', 'age': 34}