排名好的宜昌网站建设,wordpress 优化,设计制作散发寄递销售展示使用,网站建设的流程是什么意思我们知道#xff0c;在调用函数时如果不指定某个参数#xff0c;Python 解释器会抛出异常。为了解决这个问题#xff0c;Python 允许为参数设置默认值#xff0c;即在定义函数时#xff0c;直接给形式参数指定一个默认值。这样的话#xff0c;即便调用函数时没有给拥有默… 我们知道在调用函数时如果不指定某个参数Python 解释器会抛出异常。为了解决这个问题Python 允许为参数设置默认值即在定义函数时直接给形式参数指定一个默认值。这样的话即便调用函数时没有给拥有默认值的形参传递参数该参数可以直接使用定义函数时设置的默认值。 Python 定义带有默认值参数的函数其语法格式如下
def 函数名(...形参名形参名默认值)代码块 注意在使用此格式定义函数时指定有默认值的形式参数必须在所有没默认值参数的最后否则会产生语法错误。 下面程序演示了如何定义和调用有默认参数的函数
#str1没有默认参数str2有默认参数
def dis_str(str1,str2 http://c.biancheng.net/python/):
print(str1:,str1)
print(str2:,str2)dis_str(http://c.biancheng.net/shell/)
dis_str(http://c.biancheng.net/java/,http://c.biancheng.net/golang/)
运行结果为
str1: http://c.biancheng.net/shell/
str2: http://c.biancheng.net/python/
str1: http://c.biancheng.net/java/
str2: http://c.biancheng.net/golang/ 上面程序中dis_str() 函数有 2 个参数其中第 2 个设有默认参数。这意味着在调用 dis_str() 函数时我们可以仅传入 1 个参数此时该参数会传给 str1 参数而 str2 会使用默认的参数如程序中第 6 行代码所示。 当然在调用 dis_str() 函数时也可以给所有的参数传值如第 7 行代码所示这时即便 str2 有默认值它也会优先使用传递给它的新值。 同时结合关键字参数以下 3 种调用 dis_str() 函数的方式也是可以的
dis_str(str1 http://c.biancheng.net/shell/)
dis_str(http://c.biancheng.net/java/,str2 http://c.biancheng.net/golang/)
dis_str(str1 http://c.biancheng.net/java/,str2 http://c.biancheng.net/golang/) 再次强调当定义一个有默认值参数的函数时有默认值的参数必须位于所有没默认值参数的后面。因此下面例子中定义的函数是不正确的
#语法错误
def dis_str(str1http://c.biancheng.net/python/,str2,str3):
pass 显然str1 设有默认值而 str2 和 str3 没有默认值因此 str1 必须位于 str2 和 str3 之后。 有读者可能会问对于自己自定义的函数可以轻易知道哪个参数有默认值但如果使用 Python 提供的内置函数又或者其它第三方提供的函数怎么知道哪些参数有默认值呢 Pyhton 中可以使用“函数名.__defaults__”查看函数的默认值参数的当前值其返回值是一个元组。以本节中的 dis_str() 函数为例在其基础上执行如下代码
print(dis_str.__defaults__)
程序执行结果为
(http://c.biancheng.net/python/,)