Python 默认参数值

Posted 红皮橘子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 默认参数值相关的知识,希望对你有一定的参考价值。

Python 默认参数值,对于一些函数来说,你可能为希望使一些参数可选并使用默认的值,以避免用户不想为他们提供值的情况。默认参数值可以有效帮助解决这一情况。你可以通过在函数定义时附加一个赋值运算符(=)来为参数指定默认参数值。

要注意到,默认参数值应该是常数。更确切地说,默认参数值应该是不可变的——这将在Python教程后面的章节中予以更详细的解释。就目前来说,只要记住就行了。

案例(保存为 function_default.py):

def say(message, times=1):
    print(message * times)

say(Hello)
say(World, 5)

 

输出:

$ python function_default.py
Hello
WorldWorldWorldWorldWorld

 

它是如何工作的

名为 say 的函数用以按照给定的次数打印一串字符串。如果我们没有提供一个数值,则将按照默认设置,只打印一次字符串。我们通过为参数 times 指定默认参数值 1 来实现这一点。

在第一次使用 say 时,我们只提供字符串因而函数只会将这个字符串打印一次。在第二次使用 say 时,我们既提供了字符串,同时也提供了一个参数 5,声明我们希望说(Say)这个字符串五次。

注意

只有那些位于参数列表末尾的参数才能被赋予默认参数值,意即在函数的参数列表中拥有默认参数值的参数不能位于没有默认参数值的参数之前。

这是因为值是按参数所处的位置依次分配的。举例来说,def func(a, b=5) 是有效的,但 def func(a=5, b) 是无效的

以上是关于Python 默认参数值的主要内容,如果未能解决你的问题,请参考以下文章

Python函数-3

Python函数

Flask模板宏的概念和基本使用

ArgParse Python 模块:更改继承参数的默认参数值

python 函数中怎么实现static 变量

在python中创建默认参数