Python *args 和 **kwargs
提示
- *args 的作用:*args 允许在函数中传递可变数量的非关键字参数,它们作为一个元组传递给函数。
- **kwargs 的用途:**kwargs 使得向函数传递可变数量的关键字参数成为可能,这些参数以字典形式传递。
- *args 和 **kwargs 的灵活性:*args 和 **kwargs 提高了函数的灵活性,使函数能够处理不定数量的参数,无论是普通参数还是关键字参数。
在编程中,我们定义函数以创建可重用代码,用于执行相似的操作。为了执行这些操作,我们用特定值调用函数,这个值在Python中被称为函数参数。
假设,我们定义了一个用于加三个数的函数。
示例 1:加三个数的函数
def adder(x,y,z):
print("sum:",x+y+z)
adder(10,12,13)
当我们运行上述程序时,输出将是
sum: 35
在上面的程序中,我们有一个带有三个参数 x、y 和 z 的adder()
函数。当我们在调用adder()
函数时传递三个值时,我们得到的输出是这三个数字的和。
让我们看看在adder()
函数中传递超过3个参数时会发生什么。
def adder(x,y,z):
print("sum:",x+y+z)
adder(5,10,15,20,25)
当我们运行上述程序时,输出将是
TypeError: adder() takes 3 positional arguments but 5 were given
在上述程序中,我们传递了5个参数给adder()
函数,而不是3个参数,因此我们得到了TypeError
。