Python中*args和**kwargs
生活随笔
收集整理的這篇文章主要介紹了
Python中*args和**kwargs
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
*一、args的使用方法
*args 用來將參數打包成tuple給函數體調用
def fun(*arg):print(arg,type(arg))print(*arg) fun(1,2,[8,9]) (1, 2, [8, 9]) <class 'tuple'> 1 2 [8, 9]并不一定必須是args,也可以是別的,但是官方不建議這樣!
args是一個元祖,*號可以將元祖拆分。
**二、kwargs的使用方法
**kwargs 打包關鍵字參數成dict給函數體調用def fun(**kwarg):
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' print(kwarg,type(kwarg))# print(**kwarg)#TypeError: 'a' is an invalid keyword argument for print() fun(a=1,b=6) fun(**{'name':'Peter','gender':'male'}) {'a': 1, 'b': 6} <class 'dict'> {'name': 'Peter', 'gender': 'male'} <class 'dict'>kwargs也不是必須的,但是也不推薦改成別的!
注意:參數arg、*args、**kwargs三個參數的位置必須是一定的。必須是(arg,*args,**kwargs)這個順序,否則程序會報錯。
錯誤示范:
def fun(*args,**kwarg):print(args,kwarg,type(kwarg))# print(**kwarg)#TypeError: 'a' is an invalid keyword argument for print() fun(a=6,1,2,3,**{'name':'Peter','gender':'male'}) File "C:/Users/Administrator.SC-201903160419/Desktop/筆記/myrequest.py", line 37 fun(a=6,1,2,3,**{'name':'Peter','gender':'male'}) ^ SyntaxError: positional argument follows keyword argument總結
以上是生活随笔為你收集整理的Python中*args和**kwargs的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python-函数和代码复用
- 下一篇: 10个python使用技巧