python3之函数形参中的*args和**kwargs

*args

表示的就是将实参中按照位置传值,多出来的值都给args,且以元组的方式呈现

def test(a,*args):
    print(a,args)

test(1,2,3,4,6)
1 (2, 3, 4, 6)

**kwarg

表示的就是形参中按照关键字传值把多余的传值以字典的方式呈现

def test(a,**kwargs):
    print(a,kwargs)

test(1,b=2,c=3)
1 {'b': 2, 'c': 3}

同时存在 args、*kwargs

def test(a,*args, **kwargs):
    print(a,args,kwargs)

test(1,2,3,44,b=2,c=3)
1 (2, 3, 44) {'b': 2, 'c': 3}

注意点:参数arg、args、kwargs三个参数的位置必须是一定的。必须是(arg,args,**kwargs)这个顺序,否则程序会报错。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容