python函数的参数定义顺序必须为:
必须参数(位置参数),默认参数,可变参数,命名关键字参数,关键字参数
如以下定义:
def f1(a, b, c=0, *args, d, **kw): print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'd =', d, 'kw =', kw) """ a,b为必选参数,或叫位置参数 c为默认参数 args为可变参数,可传入*L(L为一个list或tuple) d为命名关键字参数,调用时需要传入参数名: f1(...,d='test',...) kw为关键字参数,调用时可以用key=value形式,也可以用**dict形式 """
其中,
可变参数在函数内部接收到的是一个tuple(元组);
关键字参数在函数内部接收到的是一个dict(字典);