一、位置参数
以上的a,b,c均为位置参数,调用该函数时需要按顺序传入对应的参数。为了方便,有时会给不常变化的参数设置默认值,设置的默认值一定要是不可变值。如c=0。
二、可变参数
*number为可变参数,调用该函数时可传入任意个数的参数。习惯上用*arg表示,*arg接收的是一个tuple
三、关键字参数
**kw为关键字参数,**kw接收的是一个dict。以上函数中可以只传入位置参数,也可以传入任意的关键字参数。比如在做一个注册功能时,昵称和性别是必填的,其他的城市、爱好等是可选的,就可以用到关键字参数。
四、命名关键字参数
如果要限制传入的关键字参数,则可以用命名关键字参数
和关键字参数**kw不同,命名关键字参数用*作为分隔符,*后的表示命名关键字参数,调用该函数时需依次传入name,age,city,job四个参数。与位置参数不同,命名关键字参数必须传入参数名。
五、参数组合
如果一个函数包含以上位置参数、默认参数、可变参数、关键字参数、命名关键字参数,则顺序必须是:位置参数、默认参数、可变参数、命名关键字参数、关键字参数。如
网友评论