您的位置:首頁技術文章
文章詳情頁

Python *args和**kwargs用法實例解析

瀏覽:18日期:2022-08-04 16:46:16

一、*args的使用方法

*args 用來將參數打包成tuple給函數體調用

def fun(*arg): print(arg,type(arg)) print(*arg)fun(1,2,[8,9])(1, 2, [8, 9]) <class ’tuple’>2 [8, 9]

并不一定必須是args,也可以是別的,但是官方不建議這樣!

args是一個元祖,*號可以將元祖拆分。

二、**kwargs的使用方法

**kwargs 打包關鍵字參數成dict給函數體調用def fun(**kwarg):

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 編程
相關文章:
国产综合久久一区二区三区