python *args **kwargs用法

1. *args 用来将参数打包成tuple给函数体使用

def fun1(*args):
    print(args)
    print(type(args))

fun1(1, 2, 3)

# 输出

(1, 2, 3)
<class 'tuple'>

 

2. *kwargs 用来将关键字参数打包成字典给函数体使用

def fun2(**kwargs):
    print(kwargs)
    print(type(kwargs))

fun2(a=1, b=2, c=3)

# 输出

{'a': 1, 'b': 2, 'c': 3}
<class 'dict'>

 

arg,*args,*kwargs三个参数的位置必须是一定的,必须是(arg, *args, *kwargs)这个顺序。

def fun3(arg, *args, **kwargs):
    print(arg, args, kwargs)

fun3(6, 7, 8, 9, a=1, b=2, c=3)

# 输出
6 (7, 8, 9) {'a': 1, 'b': 2, 'c': 3}

 

posted @ 2020-09-11 11:01  c++11  阅读(246)  评论(0编辑  收藏  举报