日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

[python]函数默认参数顺序问题

發布時間:2025/3/20 python 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [python]函数默认参数顺序问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python 函數參數定義有四類:

1、必選參數:調用函數時候必須賦值的參數。

a,須以正確的順序傳入函數
b,調用時的數量必須和聲明時的一樣

def exa(x):return x#b作為參數進入函數體內 b=1 print exa(b) #1 print exa() #錯誤 TypeError: exa() takes exactly 1 argument (0 given)

2,默認參數:初始已經有值,在調用時未更改使用默認值

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' def exa(x=1)return xprint exa() # 1 print exa(2) # 2

3,可變參數:不確定參數個數,會分配給帶“*”參數

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' def exa(*x)return xprint exa(1,2,3,4,5,6,6) # (1,2,3,4,5,6,6)

4,關鍵字參數:使用關鍵字參數來確定傳入的參數值。調用函數時帶關鍵字后,順序不影響。

def exa(x,y,z):return x,y,zprint exa(y=2,x=3,z=2) #(3, 2, 2)

Tips:可變元組參數和可變字典參數

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' *x #可變元組參數,參數格式化存儲在一個元組中,長度沒有限制。 #python2必須位于普通參數和默認參數之后。 #python3可以位于默認參數之前def exa(*x):return x print exa('ai', 'ni', 'ya') #('ai', 'ni', 'ya')**x #可變字典參數 #必須位于參數列表的最后面。 def exa(**x):return x print exa(ai="愛",ni="你") #{'ai': '愛', 'ni': '你'}

函數參數順序

args與必選參數和默認參數混用

1、python2、python3 三者順序是:位置參數、默認參數、*args

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' def foo(x,y=1,*args):pass foo (1,2,3,4,5) // 其中的x為1,y=1的值被2替換,3,4,5都給args,即args=(3,4,5)

2、python3 三者順序是:位置參數、*args、默認參數

def foo(x,*args,y=1):pass foo (1,2,3,4,5) // 其中的x為12,3,4,5都給args,即args=(2,3,4,5),y始終為1

3、python2、python3 **kwargs與位置參數、*args、默認參數混用

**kwargs:可變字典長度(表示的就是形參中按照關鍵字傳值把多余的傳值以字典的方式呈現)

位置參數、*args、**kwargs三者的順序必須是位置參數、*args、**kwargs

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' def foo(x,*args,**kwargs):pass foo (1,2,3,4,y=5,a=6,b=7) // 其中的x為12,3,4都給args,即args=(2,3,4),y=5,a=6,b=7以字典形式傳給kwargs,即kwargs={'y':5,'a':6,'b':7}

python2參數順序:必選參數、默認參數、可變參數,關鍵字參數。

python2中,默認參數必須在可變參數之前

Python3參數順序:必選參數,默認參數,*args,**kwargs

python3中,*args也可以在默認參數前,誰在前誰優先拿到值

python2和python3相同的是:

1、必選參數必選在默認參數之前

2、關鍵字參數在最后

總結

以上是生活随笔為你收集整理的[python]函数默认参数顺序问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。