一、函数
1.默认参数
为什么要设置默认参数?
一个例子:
注意:1.必选参数在前,默认参数在后
2.当函数有多个参数时,把变化大的参数放在前面,变化小的参数放在后面。变化小的参数可以作为默认参数。
例子:
常见问题:当默认参数时不变的对象时不会出现什么问题,但是当默认参数指向可变对象时:
因为函数在定义的时候,默认参数L是一个变量,每次调用该函数,就会改变L的内容,下次调用时就会改变。
所以切记!默认参数必须是不变对象。
.可变参数
当输入的参数个数不确定时,可以先将输入的变量作为一个list或者tuple传进去。如:
当参数前面加*号的时候,在函数的内部参数numbers接收到的是一个tuple,所以函数的代码不变,而且可以接受任意个参数,包括0个。
python也允许将
list前面加一个*号,将list或者tuple作为可变参数传进去。
3.关键字参数
可变参数允许传入0或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict,如: