Python内置函数的参数设置通常遵循以下规则:
def func(a, b, c):
return a + b + c
result = func(1, 2, 3) # 结果为6
def func(a, b, c):
return a + b + c
result = func(c=3, a=1, b=2) # 结果为6
def func(a, b=10, c=20):
return a + b + c
result1 = func(1) # 结果为12,因为b和c使用了默认值
result2 = func(1, 2) # 结果为4,因为b使用了默认值
result3 = func(1, 2, 3) # 结果为6,因为a、b和c都提供了值
*args
和**kwargs
来表示。*args
用于接收任意数量的位置参数,**kwargs
用于接收任意数量的关键字参数。例如:def func(*args, **kwargs):
print(args) # 输出一个元组,包含所有位置参数
print(kwargs) # 输出一个字典,包含所有关键字参数
func(1, 2, 3, a=4, b=5) # 输出:(1, 2, 3) {'a': 4, 'b': 5}
注意:在函数定义中,位置参数必须在关键字参数之前。如果需要将位置参数和关键字参数混合使用,必须将位置参数放在关键字参数之前。例如:
def func(a, b, c=10): # 正确
pass
def func(a, b=10, c): # 错误
pass