Python函数的可变参数及其使用方法
发布时间:2023-07-04 05:50:40
可变参数是指函数的形参可以接收任意数量的实参。在Python中,可以通过在形参前面加上一个星号(*)来表示可变参数。使用可变参数的好处是可以很方便地处理不确定数量的实参,避免了需要多次定义函数的麻烦。
使用可变参数有两种方式:使用元组参数和使用字典参数。
1. 使用元组参数:
当形参前面的星号(*)只有一个时,表示接收元组类型的实参。
例如,定义一个求和函数sum_nums,可以接受任意数量的参数并计算它们的和:
def sum_nums(*nums):
result = 0
for num in nums:
result += num
return result
调用这个函数可以传入任意数量的参数:
print(sum_nums(1, 2, 3)) # 输出:6 print(sum_nums(1, 2, 3, 4, 5)) # 输出:15
2. 使用字典参数:
当形参前面的星号(*)有两个时,表示接收字典类型的实参。
例如,定义一个打印用户信息的函数print_user_info,可以接受任意数量的关键字参数,并打印出来。
def print_user_info(**info):
for key, value in info.items():
print(f"{key}: {value}")
调用这个函数时可以传入任意数量的关键字参数:
print_user_info(name='Alice', age=25) # 输出:name: Alice age: 25 print_user_info(name='Bob', gender='male', occupation='engineer') # 输出:name: Bob gender: male occupation: engineer
需要注意的是,函数的可变参数可以和其他的普通参数一起使用,但是可变参数必须放在普通参数的后面。
例如,下面的函数定义是合法的:
def example(a, b, *c, d=1, **e):
pass
但是下面的函数定义是不合法的:
def example(*a, b):
pass
通过使用函数的可变参数,我们可以处理不确定数量的实参,使代码更加灵活和易用。同时,使用可变参数也可以避免定义过多的函数,提高了代码的复用性和可维护性。
