📜  如何在 python 中使用不定数量的 args(1)

📅  最后修改于: 2023-12-03 15:38:23.550000             🧑  作者: Mango

如何在 Python 中使用不定数量的 args

在 Python 中,我们经常需要处理不定数量的参数。在一些情况下,函数或方法可能无法预测或确定将有多少参数被传递。幸运的是,Python 提供了一种处理这种情况的简单而强大的语法 - 可变参数。

可变参数允许我们在定义函数时使用未定数量的参数,并将它们打包成一个元组。我们可以使用 *args 语法来声明可变长度的参数列表。下面是这个语法的一些示例。

*args 基础
def function_name(*args):
    # Code block

在上面的示例函数中,*args 允许我们传递任意数量的位置参数,它们会被视为一个元组传递给函数。我们可以在函数代码块中通过 args 变量引用这个元组,并对其进行操作。

def my_function(*args):
    for arg in args:
        print(arg)

这个函数将打印传递给它的所有参数。

my_function('hello', 'world', 2021)

输出结果为:

hello
world
2021
结合其他参数

我们还可以将可变参数与常规参数一起使用,这样我们可以将可变参数用作其他参数的附加参数,而不必在函数调用中指定它们。

def my_function(name, *args):
    print(f'{name}的其他参数有:')
    for arg in args:
        print(arg)

这个函数将首先打印名称参数,然后遍历其他参数并打印出来。

my_function('小明', '数学', '英语', '体育')

输出结果为:

小明的其他参数有:
数学
英语
体育
使用列表或元组展开可变参数

有时我们可能已经有一个包含参数的列表或元组,但我们想把它们传递给一个使用可变参数的函数。在这种情况下,我们可以使用 * 运算符来展开这个列表或元组,然后将其传递给函数。

def my_function(*args):
    for arg in args:
        print(arg)

my_list = ['hello', 'world', 2021]
my_function(*my_list)

在这个示例中,我们通过将列表展开成三个位置参数,将其传递给 my_function()。代码的执行结果与之前相同。

总结

Python 中的可变参数允许我们处理不定数量的参数,并将它们合并成一个元组。 *args 语法允许我们声明可变数量的位置参数。我们可以在使用可变参数的同时使用其他参数,并使用 * 运算符将现有的列表或元组展开为可变参数列表。

这些简单的技巧可以帮助我们在处理参数数量不定的函数时更有效地编写 Python 代码。