Python中的多值引數

2021-10-04 00:03:05 字數 921 閱讀 5772

def plot***(a, b, *args, **kwargs):

pass

關於其中的引數部分「*args, **kwargs」,許多人不是特別清晰,看到了許多介紹的文章,也覺得沒有說的特別清楚。

其實,可以將上述引數部分「a, b, *args, **kwargs」,分成3個部分:

a, b: 是固定引數,不可缺少,也必須是需要的資料型別;

*args: 是乙個多值引數,收受a, b之後的,以同樣的形式給出的多個引數,如: c, d, …;

**kwargs: 是乙個多值引數,也叫關鍵字引數,傳遞時以「reverse=false」的形式給出。

事實上,*args接收乙個元組(tuple), **kwargs接收乙個字典(dict),我們可以用如下**來測試:

def test_args(arg1, arg2, *args, **kwargs):

print(arg1, arg2)

print(args)

print(kwargs)

test_args(1, 2)

輸出:

1 2

(){}

從輸出內容可以看出,args是乙個空元組,kwargs是乙個空字典。大家也可以在呼叫時增加引數個數,再增加關鍵字引數進行測試。

除了用上述方法傳遞引數,還可以分別用元組和字典來傳遞args和**kwargs引數,只是在傳遞時要對應加上和**。如:

tuple_arg = ("name", "age", "class")

dict_arg =

test_args(1, 2, *tuple_arg, **dict_arg)

否則,可能會出現錯誤,可能不是您想要的效果。

python 多值引數

黑馬程式設計師課程筆記 定義支援多指引數的函式有時可能需要乙個函式能夠處理的引數的個數是不確定的,這個時候,就可以使用多值引數。在python中有兩種多值引數 引數名前增加乙個可以接收元組 引數名前增加兩個可以接收字典 一般在給多值引數命名時。習慣使用以下兩個名字 args 存放元組引數 前面有乙個...

python之多值引數

多值引數 定義支援多值引數的函式 一般在給多值引數命名時,習慣使用以下兩個名字 args是arguments的縮寫,有變數的含義 kw是keyword的縮寫,kwargs可以記憶鍵值對引數 def demo num,args,kwargs print num print args print kwa...

Python 多值引數和預設引數

多值引數 在python中,有時需要乙個函式處理多個資料,這時用到多值引數。在引數前加乙個 可以接收元組,加 可以接收字典。一般用 args存放元組引數,用 kwargs存放字典引數。例 定義乙個函式,接收多個整數並求和 def sun numbers args num 0 print args f...