知识点:Python 函数的默认参数
对于一些函数,你可能想要一些参数是可选。
即在用户不为它们提供值时,使用默认值。
可以在函数定义中,通过在参数名后使用赋值操作符(=),指定默认的参数值。
默认的参数值应该是不可变的。
举例:
1 def say(message, times = 1): 2 print(message * times) 3 say('你好') 4 say('世界', 5)
输出:
你好
世界世界世界世界世界
它是如何工作的:
函数say是用来按照指定的次数打印一个字符串。如果我们不提供times的值,那么在默认情况下字符串只打印一次。为此,我们为参数times指定一个默认参数值1。
在第一次使用函数say时,我们只提供了字符串,它打印字符串一次。在第二次使用say时,我们提供了字符串和一个实参5两个参数,说明我们想要say字符串5次。
注意:参数默认值的设定是倒序的,不能前面的参数有默认值,后面的参数没有默认值
只有在参数列表后面的的参数可以被赋予默认参数值,即在参数列表中,【没有默认值的参数】前的参数不能有默认值。
这是因为,值按位置分配给参数。例如,def func(a, b=5)是有效的,而def func(a=5, b)是无效的。