python函数中*args和**kwargs的区别

经常在python函数中看到这两个参数:*args和**kwargs,它们有什么用,又有什么区别呢。

def test_args_kwargs(a,*args,**kwargs):
    print(a)
    print('args:',args)
    print('kwargs',kwargs)

输出结果如下:
test_args_kwargs(1,'qubit',['flux qubit','xmon'],T1=100,T2=1000)
1
args: ('qubit', ['flux qubit', 'xmon'])
kwargs {'T1': 100, 'T2': 1000}

可以看出args返回的是一个tuple,kwargs返回的是一个字典。

所以函数参数中的*args是一个tuple,表示函数可以接收多个无名参数,参数类型任意;*kwarg是一个dict,表示函数可以接收多个关键字参数,即键值对

发布了47 篇原创文章 · 获赞 33 · 访问量 31万+

猜你喜欢

转载自blog.csdn.net/kaever/article/details/60364999
今日推荐