向函数传递可变数量的参数
在 Python 中,可以向函数传递可变数量的参数,类似于C/C 中的 varargs 概念.
解决方案:
Python 提供了一种特殊的语法 *args,可以用作非关键字参数。当您在函数定义中使用 *args 时,您可以向该函数传递任意数量的参数。
def manyArgs(*arg): print("I was called with", len(arg), "arguments:", arg) >>> manyArgs(1) I was called with 1 arguments: (1,) >>> manyArgs(1, 2, 3) I was called with 3 arguments: (1, 2, 3)
如您所见,Python 将参数解压到包含所有参数的单个元组中。
对于关键字参数:
如果您需要单独处理关键字参数,您可以接受它们作为一个单独的实际参数。例如:
def manyArgsWithKeywords(*args, **kwargs): print("Non-keyword arguments:", args) print("Keyword arguments:", kwargs) >>> manyArgsWithKeywords(1, 2, 3, keyword1="value1", keyword2="value2") Non-keyword arguments: (1, 2, 3) Keyword arguments: {'keyword1': 'value1', 'keyword2': 'value2'}
请注意,必须在函数定义中的 varargs 参数之后显式指定关键字参数。
以上是如何向 Python 函数传递可变数量的参数?的详细内容。更多信息请关注PHP中文网其他相关文章!