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

溫馨提示×

溫馨提示×

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

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

Python中函數參數匹配模型詳解

發布時間:2020-08-20 22:57:08 來源:腳本之家 閱讀:177 作者:若數 欄目:開發技術

當我們的函數接收參數為任意個,或者不能確定參數個數時,我們,可以利用 * 來定義任意數目的參數,這個函數調用時,其所有不匹配的位置參數會被賦值為元組,我們可以在函數利用循環或索引進行使用

def f(*args):
  # 直接打印元組參數
  print(args)
  print('-'*20)
  # 循環打印元組參數
  [print(i) for i in args]
  ...
# 傳遞一個參數
f(1)
print('='*20)
# 傳遞5個參數
f(1, 2, 3, 4, 5)

示例結果:

(1,)
--------------------
1
====================
(1, 2, 3, 4, 5)
--------------------
1
2
3
4
5

###任意參數 ** 而 ** 是用于收集關鍵字參數并將這些參數傳遞給一個新的字典,即在函數中我們可以利用處理字典的方式處理這些參數
def f(**args):
  # 直接打印字典參數
  print(args)
  for key, value in args.items():
    print('{}: {}'.format(key, value))
f(a=1)
print('='*20)
f(a=1, b=2, c=3)

示例結果:

{'a': 1}
a: 1
====================
{'a': 1, 'b': 2, 'c': 3}
a: 1
b: 2
c: 3

任意參數混合

我們可以混合一般參數、 * 參數以及 ** 參數完成實現更加復雜的調用方式。

def f(a, *targs, **dargs):
  print(a, targs, dargs)
f(1,2,3, x=1, y=2)

示例結果:

1 (2, 3) {'x': 1, 'y': 2}

可以看到這種調用方式并不那么直觀,甚至有些“混淆視聽”,那么怎么在復雜任意參數的調用時,是的在函數調用更加直觀明了?

解包參數

我們可以在函數調用時,直接利用*和**進行參數傳遞,然后讓函數自動解包,也就類似之前的序列解包,使用調用時更加的直觀。

def f(a, b, c, d):
  print(a, b, c, d)
f(1, *(2, 3), **{'d': 4})

示例結果:

1 2 3 4

總結

以上所述是小編給大家介紹的Python中函數參數匹配模型詳解,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

向AI問一下細節

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

AI

桦甸市| 通山县| 石首市| 博野县| 广宗县| 隆化县| 和田市| 阿拉善右旗| 黔东| 海口市| 湘阴县| 平昌县| 阳曲县| 厦门市| 永和县| 横峰县| 柳州市| 岫岩| 呼玛县| 九龙县| 共和县| 深泽县| 定日县| 沿河| 蓝田县| 重庆市| 抚顺县| 肇东市| 余干县| 灵山县| 安吉县| 余姚市| 正宁县| 台中县| 永州市| 泗阳县| 镇巴县| 兴国县| 皮山县| 象州县| 伊宁市|