簡體   English   中英

* args在Python函數中

[英]*args in function with Python

我試圖在python中定義一個簡單的sum函數。

我的代碼是:

def sum_all_num(*args):
    return sum(*args)

但是我出錯了。 我知道* args將在一個元組中收集所有參數,但是為什么我不能使用sum函數對其求和?

sum()需要一個可迭代的。 只需刪除*並直接傳遞args元組即可。

例:

x = 1, 2, 3
print(sum(x))

結果:

6

sum()僅接受一個參數(可迭代)。

因此,與其將* s解args ,不如將args變量傳遞給它:

def sum_all_num(*args):
    return sum(args)

測試:

>>> sum_all_num(1,2,3)
6

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM