Python函式 函式的可變引數

2021-08-19 22:53:51 字數 655 閱讀 8455

在python函式中,還可以定義可變引數。顧名思義,可變引數就是傳入的引數個數是可變的,可以是1個、2個到任意個,還可以是0個。

我們以數學題為例子,給定一組數字a,b,c……,請計算a^2 + b^2 + c^2 + ……

我們把函式的引數改為可變引數:

def

calc

(*numbers):

sum = 0

for n in numbers:

sum = sum + n * n

return sum

定義可變引數和定義乙個list或tuple引數相比,僅僅在引數前面加了乙個*號。在函式內部,引數numbers接收到的是乙個tuple,因此,函式**完全不變。但是,呼叫該函式時,可以傳入任意個引數,包括0個引數

如果已經有乙個list或者tuple,呼叫乙個可變引數

>>> nums = [1, 2, 3]

>>> calc(nums[0], nums[1], nums[2])

14>>> calc(*nums)

14

*nums表示把nums這個list的所有元素作為可變引數傳進去。

Python 函式 可變引數

有些時候我們可能遇到引數的個數並不固定的情況,比如1 2 3 n 函式定義如下 def calc numbers sum 0 for n in numbers sum sum n n return sum上面這種情況只能傳乙個引數,而且引數一般是list或tuple,呼叫方式 calc 1,3,5 ...

Python函式的可變引數

剛學用python的時候,特別是看一些庫的原始碼時,經常會看到func args,kwargs 這樣的函式定義,這個 和 讓人有點費解。其實只要把函式引數定義搞清楚了,就不難理解了。先說說函式定義,我們都知道,下面的 定義了乙個函式funca def funca pass 顯然,函式funca沒有引...

Python常用函式 可變引數

剛學python的時候,特別是看一些庫的原始碼時,經常會看到func args,kwargs 這樣的函式定義,這個和讓人有點費解。有時你可能想定義的函式裡面能夠有任意數量的變數,也就是引數數量是可變的,這可以通過使用星號來實現 將下方案例儲存為 function varargs.py def tot...