欢迎访问宙启技术站
智能推送

Python中的变长参数函数有哪些

发布时间:2023-10-20 18:37:47

在Python中,有两种类型的变长参数函数:*args和**kwargs。

1. *args:这是一个用于接收任意数量的位置参数的特殊参数。参数名可以是任意名称,但惯例是使用args。它允许你将任意数量的参数传递给函数。在函数内部,args是一个包含了所有传递给函数的位置参数的元组。

def my_function(*args):
    for arg in args:
        print(arg)
        
my_function(1, 2, 3, 4, 5)

输出结果:

1
2
3
4
5

2. **kwargs:这是一个用于接收任意数量的关键字参数的特殊参数。参数名可以是任意名称,但惯例是使用kwargs。它允许你将任意数量的关键字参数传递给函数。在函数内部,kwargs是一个包含了所有传递给函数的关键字参数的字典。

def my_function(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")
        
my_function(name="Alice", age=25, city="New York")

输出结果:

name: Alice
age: 25
city: New York

除了使用单独的*args和**kwargs参数之外,还可以同时使用它们来定义一个函数,以接收任意数量的位置参数和关键字参数。

def my_function(*args, **kwargs):
    for arg in args:
        print(arg)
    for key, value in kwargs.items():
        print(f"{key}: {value}")
        
my_function(1, 2, 3, name="Alice", age=25)

输出结果:

1
2
3
name: Alice
age: 25

这样的函数可以同时接收位置参数和关键字参数,并根据需要进行处理。