摘要:*args:这允许您传递多个非关键字参数的变量值。 args 只是一个约定;您可以使用任何喜欢的名称,但必须以星号 (*) 开头。这些参数被收集到一个元组中。
当编写 Python 函数时,你可以使用的最强大的工具之一是可变长度参数。这允许你的函数接受任意数量的输入,使它们非常灵活和可重用。
Python 中变量长度参数通过两种特殊的参数类型实现:*args 和 **kwargs。让我们分别探讨这些:
*args: 这允许您传递多个非关键字参数的变量值。 args 只是一个约定;您可以使用任何喜欢的名称,但必须以星号 (*) 开头。这些参数被收集到一个元组中。def my_function(*args): for arg in args: print(arg)my_function('Hello', 'World', 'Python')**kwargs: 这允许您传递可变数量的关键字参数。kwargs 也是一个约定;您可以使用任何喜欢的名称,但必须以两个星号(**)开头。这些参数将被收集到一个字典中。def my_function(**kwargs): for key, value in kwargs.items: print(f"{key}: {value}")my_function(name='John', age=30, city='New York')让我们一步步分解这个程序:
函数 my_function(**kwargs) 使用 **kwargs 定义,意味着它可以接受多个命名参数。当调用 my_function(name='John', age=30, city='New York') 时,Python 将参数存储在一个字典中:kwargs = {'name': 'Harish', 'age': 27, 'city': 'India'}3. 函数通过以下方式遍历字典:
for key, value in kwargs.items:.items 从字典中返回键值对到变量(键和值)。The print(f"{key}: {value}")语句打印每个键及其对应的值。程序输出
您可以在同一个函数中使用*args和**kwargs来处理两种类型的可变参数。当您想创建可以处理广泛输入的函数时,这非常有用。
def my_function(*args, **kwargs): print("Arguments:", args) print("Keyword Arguments:", kwargs)my_function('apple', 'banana', fruit='orange', quantity=5)来源:自由坦荡的湖泊AI