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