def myfunction(silent = False,x,y)“silent = False”这个部分是做什么的?

时间:2012-07-23 02:25:36

标签: python function arguments

在函数的python代码中设置类似的东西:

def myfunction(silent=False, x, y)

silent=False做什么?

2 个答案:

答案 0 :(得分:6)

使用您当前的代码:

def myfunction( silent = False, x, y)

将引发以下错误:

SyntaxError: non-default argument follows default argument

如果您将其更改为:

def myfunction(x, y, silent=False)

silent如果未作为参数传递,则使用其默认值Falsemyfunction(x, y)将相当于myfunction(x, y, False)

答案 1 :(得分:2)

正如其他人所说,您必须将silent作为最后一个参数。这将silent定义为函数的可选参数。如果调用者未提供值,则将使用默认值False

以这种方式定义函数后:

def myfunc(x, y, silent=False):

你有一个名为myfunc的函数可以通过两种不同的方式调用:

myfunc(1, 2, True)
myfunc(1, 2)

在两次通话中,x将为1,y将为2.在第一次通话中,silent将为True。在第二个中,silent将为假。