在Python中,函数的默认参数是在函数定义时为其参数指定的一个默认值,调用函数时如果没有为该参数提供值,则使用默认值。默认参数在函数定义时就已经计算好了,这意味着默认参数值应该是不可变的常量。
默认参数定义:
使用等号(=)在函数定义中为参数指定默认值。
def func(arg1, arg2=10):
return arg1 + arg2
默认参数调用:
在调用函数时,如果没有提供某个参数,则使用其默认值。
print(func(5)) 输出:15,因为arg2的默认值是10
默认参数顺序:
在函数定义中,必选参数必须在默认参数之前。
def func(arg1, arg2, arg3=10):
return arg1 + arg2 + arg3
可变默认参数:
默认参数可以是列表、字典等可变类型,但在函数内部对这些参数的修改会影响到函数外部的变量。
def func(arg1, arg2=[]):
arg2.append(arg1)
return arg2
关键字参数:
在调用函数时,可以使用关键字参数来指定参数的值,即使它们没有在函数定义中作为默认参数出现。
print(func(1)) 输出:
print(func(1, )) 输出:[1, 2]
需要注意的是,默认参数在函数定义时就已经计算好了,这意味着在函数内部对默认参数的修改不会影响函数外部的变量。