中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python函數參數類型及排序原理總結

發布時間:2020-10-13 19:34:52 來源:腳本之家 閱讀:148 作者:Python探索牛 欄目:開發技術

這篇文章主要介紹了Python函數參數類型及排序原理總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

Python中函數的參數問題有點復雜,主要是因為參數類型問題導致的情況比較多,下面來分析一下。

參數類型:缺省參數,關鍵字參數,不定長位置參數,不定長關鍵字參數。

其實總共可以分為 位置參數和關鍵字參數,因為位置參數被放在list里面,關鍵字參數放在dict里面,Python在解讀的時候首先處理list,沒有遇到關鍵字就append到list里面,遇到關鍵字了,就開始做dict直到結束,所以,位置參數必須放在關鍵字參數前面。

這里總結出三個模型:

1:不存在缺省函數時:

 def test(a,*args,c,d=3,**kwargs):
   print(a)
   print(args)
   print(c)
   print(d)
   print(kwargs)
 
 test(1,2,3,4,c=1,d=4,e=11,f=22)

運行結果:

1
(2, 3, 4)
1
4
{'e': 11, 'f': 22}

2:存在缺省參數,參數取默認值,(缺省參數放在*args后面)

def test(a,*args,b=1,c,d=3,**kwargs):
  print(a)
  print(args)
  print(b)
  print(c)
  print(d)
  print(kwargs)

test(1,2,3,4,c=1,d=4,e=11,f=22,h=66)

運行結果:

(2, 3, 4)
1
{'e': 11, 'f': 22, 'h': 66}

3:存在缺省參數,參數不取默認值,(缺省參數放在*args前面)

def test(a,b=1,*args,c,d=3,**kwargs):
  print(a)
  print(b)
  print(args)
  print(c)
  print(d)
  print(kwargs)

test(1,2,3,4,c=1,d=4,e=11,f=22,h=66)

運行結果:

1
2
(3, 4)
1
4
{'f': 22, 'e': 11, 'h': 66}

總結:

從上面也看出來了,其實基本順序就是  位置參數--->關鍵字參數,然后就是缺省參數在 *args前后的問題了。
還有一點,前面已經說過,關鍵字參數被保存為字典類型,也就是無序的,但是 **kwargs 需要放在最后!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通城县| 金秀| 同心县| 宜川县| 墨江| 洛川县| 刚察县| 屏东市| 潼南县| 华安县| 新源县| 宝丰县| 葫芦岛市| 盐边县| 南漳县| 西盟| 同江市| 洱源县| 安图县| 沁阳市| 信宜市| 上思县| 永登县| 虹口区| 博爱县| 卢湾区| 昆山市| 化德县| 临西县| 文安县| 读书| 子长县| 衡南县| 确山县| 乐清市| 三都| 建始县| 梅河口市| 岗巴县| 衡山县| 镇宁|