如何在Python中將可選引數或關鍵字引數從一個函式傳遞到另一個函式?
要將可選引數或關鍵字引數從一個函式傳遞到另一個函式,請使用函式引數列表中的 * 和 ** 說明符收集引數。但是,首先,要知道 Python 中的 *args 和 **kwargs 是什麼。讓我們來了解一下它們:
Python 中的可變長度/任意引數 (*args)
示例
當您事先不知道要傳遞的引數數量時,這些引數就是可變長度引數。在定義函式時,在引數名稱前加上星號 *。讓我們來看一個例子:
def demo(*car): print("Car 1 = ",car[0]) print("Car 2 = ",car[1]) print("Car 3 = ", car[2]) print("Car 4 = ", car[3]) # call demo("Tesla", "Audi", "BMW", "Toyota")
輸出
('Car 1 = ', 'Tesla') ('Car 2 = ', 'Audi') ('Car 3 = ', 'BMW') ('Car 4 = ', 'Toyota')
Python 中的任意關鍵字引數 (**kwargs)
當您事先不知道要傳遞的關鍵字引數數量時,這些引數就是任意關鍵字引數。
示例
讓我們來看一個例子:
def demo(**c): print("Car Name: "+c["name"]) print("Car Model: "+c["model"]) # call demo(name = "Tesla", model = "2022")
輸出
Car Name: Tesla Car Model: 2022
將可選引數或關鍵字引數從一個函式傳遞到另一個函式
要傳遞,請使用函式引數列表中的 * 和 ** 收集引數。透過這種方式,您將得到一個元組形式的位置引數和一個字典形式的關鍵字引數。使用 * 和 ** 在呼叫另一個函式時傳遞這些引數:
def f(a, *args, **kwargs): ... kwargs['width'] = '14.3c' ... g(a, *args, **kwargs)
廣告