🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 默认参数值 对于一些函数,你可能希望它的一些参数是 可选 的,如果用户不想要为这些参数提供值的话,这些参数就使用默认值。这个功能借助于默认参数值完成。你可以在函数定义的形参名后加上赋值运算符(=)和默认值,从而给形参指定默认参数值。 注意,默认参数值应该是一个参数。更加准确的说,默认参数值应该是不可变的——这会在后面的章节中做详细解释。从现在开始,请记住这一点。 ``` #!/usr/bin/python # Filename: func_default.py def say(message, times = 1):     print message * times say('Hello') say('World', 5) ``` (源文件:[code/func_default.py](code/func_default.py)) ## 输出 ``` $ python func_default.py Hello WorldWorldWorldWorldWorld ``` ## 它如何工作 名为`say`的函数用来打印一个字符串任意所需的次数。如果我们不提供一个值,那么默认地,字符串将只被打印一遍。我们通过给形参`times`指定默认参数值`1`来实现这一功能。 在第一次使用`say`的时候,我们只提供一个字符串,函数只打印一次字符串。在第二次使用`say`的时候,我们提供了字符串和参数`5`,表明我们想要 说 这个字符串消息5遍。 重要 只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。 这是因为赋给形参的值是根据位置而赋值的。例如,`def func(a, b=5)`是有效的,但是`def func(a=5, b)`是 无效 的。