知识点: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)是无效的。

posted @ 2017-03-21 22:56  苏阿  阅读(281)  评论(0编辑  收藏  举报