Python笔记-函数参数
默认参数
定义默认参数,注意不要使用可变对象来定义,要使用
不可变对象
,比如str,None
Python在函数定义时,默认参数就会被计算出来,如果默认参数指向一个可变对象,比如[]
,每次使用默认参数调用函数时,都会使用默认参数指向的那个对象,则每一次调用,默认参数都会变化。
1 |
|
1 |
|
因此,最好不要使用可变对象来定义默认参数
可变参数
定义参数时,加一个
*
号,表示可以接收0个或任意个参数。任意个参数将会以tuple
的形式传递。
1 |
|
调用时,可以在
list
或tuple
前加上*
号码,就可以直接传递。
1 |
|
可变关键字参数
允许你传入0个或任意个含参数名的参数,传入时会自动在函数内部组装成一个
dict
1 |
|
1 |
|
kw
获得的是extra
这个字典的一个拷贝,函数对kw
做的操作不会影响函数外extra
这个对象
命名关键字参数
限制关键字参数的名字,需要特殊分隔符
*
,定义命名关键字参数
1 |
|
命名关键字参数调用时,必须传入参数名,否则会报错
1 |
|
参数组合
顺序
必须
是: 必选参数 –> 默认参数 –> 可变参数 –> 命名关键字参数 –> 可变关键字参数
1 |
|
1 |
|
Python笔记-函数参数
http://example.com/2023/12/25/python-function/