*args 和**kwargs 的理解以及 函数的参数的总结
生活随笔
收集整理的這篇文章主要介紹了
*args 和**kwargs 的理解以及 函数的参数的总结
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一:函數(shù)參數(shù)的理解:
def 函數(shù)名(函數(shù)參數(shù)):函數(shù)體例如: def func(a): # a 是形參print(a)func(123) # 123 是實參 形參又分為: 關(guān)鍵字參數(shù),位置參數(shù),混合參數(shù) 關(guān)鍵字參數(shù) def func(x,y,z="默認參數(shù)"):print(x,y,z)func(1,y="xumou") # 1 xumou 默認參數(shù) ''' 1 代表 位置參數(shù)、 y 代表 關(guān)鍵字參數(shù) z 代表默認參數(shù)他們之間的關(guān)系:關(guān)鍵字參數(shù)必須要在位置參數(shù)的后面,位置參數(shù)〉關(guān)鍵字參數(shù),默認值參數(shù)''' # 接收動態(tài)參數(shù)的時候,動態(tài)參數(shù)必須要在位置參數(shù)后面 def func01(a,b,*gg):print(gg,a,b)func01(1,2,"34")# 位置參數(shù)和默認值參數(shù):必須先聲明位置參數(shù),再聲明默認值參數(shù) def func03(a,c=12):print(a,c)func03("AA") # AA 12# *pp中的*接收任意動態(tài)參數(shù): def func03(*pp):print(pp) func03("q","w","e",22,33) # ('q', 'w', 'e', 22, 33)# 接受動態(tài)參數(shù):位置參數(shù)必須要在動態(tài)參數(shù)def func04(a,b,*args):print("func04>>",a,b,args) func04(1,2,5,7) # func04>> 1 2 (5, 7)# ----------錯誤示范:---------- def func04(*args,a,b):print("func04>>",a,b,args) func04(1,2,5,7) # 報錯# --------------------# 報錯:因該改為: def func04(*args,a,b):print("func04>>",a,b,args) func04(1,2,a=5,b=7) # func04>> 5 7 (1, 2)# **kwargs 用來接收動態(tài)關(guān)鍵字參數(shù) def func02(**kwargs):print(kwargs) # {'a': 12, 'b': 23} 結(jié)果是一個dict func02(a=12,b=23)# 最終的順序是: # 位置參數(shù)〉*args〉默認值參數(shù)〉**kwargs?
轉(zhuǎn)載于:https://www.cnblogs.com/one-tom/p/11263786.html
總結(jié)
以上是生活随笔為你收集整理的*args 和**kwargs 的理解以及 函数的参数的总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面试系列三 如何保证消息不被重复消费
- 下一篇: 可恶的IE7.0