Python函数的不定长参数
发布时间:2023-07-02 16:22:04
Python中的函数不定长参数指的是可以接受任意数量的参数的函数。Python中有两种不定长参数的定义方式:*args和**kwargs。
*args参数: *args用于函数定义中,可以接受任意数量的非关键字参数。在函数内部,这些参数会被当作元组(tuple)来处理。
例如:
def my_func(*args):
for arg in args:
print(arg)
my_func(1, 2, 3, 4)
输出结果:
1 2 3 4
**kwargs参数:**kwargs用于函数定义中,可以接受任意数量的关键字参数。在函数内部,这些参数会被当作字典(dictionary)来处理。
例如:
def my_func(**kwargs):
for key, value in kwargs.items():
print(key, value)
my_func(name="Alice", age=25, city="New York")
输出结果:
name Alice age 25 city New York
同时使用*args和**kwargs可以接受任意数量的非关键字参数和关键字参数。
例如:
def my_func(*args, **kwargs):
for arg in args:
print(arg)
for key, value in kwargs.items():
print(key, value)
my_func(1, 2, name="Alice", age=25)
输出结果:
1 2 name Alice age 25
不定长参数可以和普通参数一起使用,但是普通参数必须在不定长参数之前定义。
例如:
def my_func(age, *args, **kwargs):
print("Age:", age)
for arg in args:
print(arg)
for key, value in kwargs.items():
print(key, value)
my_func(25, 1, 2, name="Alice", city="New York")
输出结果:
Age: 25 1 2 name Alice city New York
不定长参数的使用可以让函数更加灵活,可以接受不同数量和类型的参数。在编写函数时,如果不确定函数会接受多少参数或者参数的具体名称和类型,可以使用不定长参数来处理。
