1、必选参数
def function(name,age):
2、默认参数
def function(name,age,city='chongqing'):
必选参数必须在默认参数之前。
默认参数是不可变对象。 如果设置成可变对象那么也就没啥意义
3、可选参数
传入参数个数不确定的时候使用
def function(a,b,c...):
可以设置成 def function(*number):
4、关键字参数
可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
def function(a,b,**kw):
eg:
>>> extra = {'city': 'Beijing', 'job': 'Engineer'}
>>> person('Jack', 24, city=extra['city'], job=extra['job'])
name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
5、命名关键字参数
def function(a,b,*,city): //这里city就是命名关键字参数
和关键字参数**kw
不同,命名关键字参数需要一个特殊分隔符*
,*
后面的参数被视为命名关键字参数。
参数组合顺序: 必选参数、默认参数、可变参数、命名关键字参数和关键字参数