Python变量参数

有时你可能想定义一个函数,它可以获取参数的任何值,这可以通过使用星号(*)实现:

def total(initial=5, *numbers, **keywords):
    count = initial
    for number in numbers:
        count += number
    for key in keywords:
        count += keywords[key]
    return count

print(total(10, 1, 2, 3, vegetables=50, fruits=100))

输出:

166

它是如何工作的:

当我们声明一个星号的参数,如*param,那么从这一点开始到结束的所有位置的参数都被收集到一个叫param的元组中。

同样,当我们声明一个双星参数,如**param,那么人那一点开始到结束的所有关键字参数都被收集到一个叫param的字典中。

我们将在后续章节中探讨元组和字典。

点赞