在编程中,经常会出现函数需要接受可变数量参数的情况。在 C 和 C 中,这是使用 varargs 实现的。
Python 也支持此功能,但它采用了稍微不同的方法:
非 -关键字参数:
要接受可变数量的非关键字参数,您可以使用特殊语法 *args。当使用比定义的参数更多的参数调用函数时,多余的参数会自动收集到名为 args 的元组中。
def manyArgs(*args): print("I was called with", len(args), "arguments:", args) manyArgs(1) # Output: I was called with 1 arguments: (1,) manyArgs(1, 2, 3) # Output: I was called with 3 arguments: (1, 2, 3)
Python 自动将参数解包到一个元组中,从而可以轻松访问每个参数
关键字参数:
与 varargs 不同C/C、Python 也同样不允许变量关键字参数。要支持可变关键字参数,您需要为关键字参数手动指定一个单独的参数,通常名为 **kwargs。
def manyArgsWithKwargs(num, *args, **kwargs): # Non-keyword arguments print(f"Non-keyword arguments: {args}") # Keyword arguments print(f"Keyword arguments: {kwargs}") manyArgsWithKwargs(1, 2, 3, key1="value1", key2="value2")
这种方法允许您接受可变数量的非关键字和关键字参数在同一个函数中。
以上是Python 如何处理函数中的变量参数?的详细内容。更多信息请关注PHP中文网其他相关文章!