在Python中,函数参数可以按照位置或关键字来传递。这导致了两种主要的参数类型:位置参数和关键字参数。
位置参数:
def func(a, b):
这里的a
和b
都是位置参数。func(1, 2)
时,1 会传递给 a
,而 2 会传递给 b
,因为这是它们在参数列表中的位置。关键字参数:
func(b=2, a=1)
来传递参数。注意这里我们交换了a
和b
的位置,但由于我们明确指定了参数的名称,所以1
仍然被传递给a
,2
被传递给b
。在Python中,也可以使用默认参数值,这使得参数在调用函数时变得可选。例如:
def func(a, b=10):
return a + b
print(func(5)) # 输出 15,因为b使用了默认值10
print(func(5, 2)) # 输出 7,因为b的值被覆盖为2
此外,Python还支持*args
来接受任意数量的位置参数,以及**kwargs
来接受任意数量的关键字参数。这为函数调用提供了极大的灵活性。