Python *args和**kwargs用法實(shí)例解析
一、*args的使用方法
*args 用來將參數(shù)打包成tuple給函數(shù)體調(diào)用
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是一個(gè)元祖,*號可以將元祖拆分。
二、**kwargs的使用方法
**kwargs 打包關(guān)鍵字參數(shù)成dict給函數(shù)體調(diào)用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也不是必須的,但是也不推薦改成別的!
注意:參數(shù)arg、*args、**kwargs三個(gè)參數(shù)的位置必須是一定的。必須是(arg,*args,**kwargs)這個(gè)順序,否則程序會(huì)報(bào)錯(cuò)。
錯(cuò)誤示范:
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
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. chat.asp聊天程序的編寫方法2. JSP之表單提交get和post的區(qū)別詳解及實(shí)例3. jsp cookie+session實(shí)現(xiàn)簡易自動(dòng)登錄4. PHP循環(huán)與分支知識(shí)點(diǎn)梳理5. 利用FastReport傳遞圖片參數(shù)在報(bào)表上展示簽名信息的實(shí)現(xiàn)方法6. JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能7. jsp實(shí)現(xiàn)textarea中的文字保存換行空格存到數(shù)據(jù)庫的方法8. ASP中格式化時(shí)間短日期補(bǔ)0變兩位長日期的方法9. JavaWeb Servlet中url-pattern的使用10. jsp EL表達(dá)式詳解
