python 关于 关键词参数,可变参数,动态参数的概念
首先我定义了一个类
在这里,我不确定 参数 有多少,我定义了动态参数
但是调用的时候一直错误
isok=_baseController.aothorized(dicts)
TypeError: aothorized() takes 1 positional argument but 2 were given
回答
形参没有名字啊,*args是可变参数,args接收的是一个tuple;
**kw是关键字参数,kw接收的是一个dict。
1.实参顺序:位置参数 --> *args --> 关键字参数 --> **kwargs
2.形参顺序:位置参数 --> *args --> 默认值参数 -->**kwargs
3.组合运用:无论是实参还是形参,样式不是固定的,可以组合用,只要保证顺序按照以上规则即可.
4.万能形参:def func(*args,**kwargs)
5.传参方式:实参(位置传参,关键字传参,混合传参),形参(位置传参,默认值参数,动态参数(*args,**kwargs))
6.聚合打散:实参中和**是打散(list,tuple,set,str,**dic),形参中和是聚合,*把进来的位置参数存储在一个元组中,把进来的关键字参数存储在一个字典中