Python def myfunction(silent=False,x,y)部分“silent=False”做什么?

Python def myfunction(silent=False,x,y)部分“silent=False”做什么?,python,function,arguments,Python,Function,Arguments,在函数的python代码中,设置如下内容: def myfunction(silent=False, x, y) 沉默=虚假做什么 使用当前代码: def myfunction( silent = False, x, y) 将引发以下错误: SyntaxError: non-default argument follows default argument 如果将其更改为: def myfunction(x, y, silent=False) 如果未将其作为参数传递,则silent将使用

在函数的python代码中,设置如下内容:

def myfunction(silent=False, x, y)

沉默=虚假做什么

使用当前代码:

def myfunction( silent = False, x, y)
将引发以下错误:

SyntaxError: non-default argument follows default argument
如果将其更改为:

def myfunction(x, y, silent=False)

如果未将其作为参数传递,则silent将使用默认值False,例如myfunctionx,y将与myfunctionx,y,False等效,并使用当前代码:

def myfunction( silent = False, x, y)
将引发以下错误:

SyntaxError: non-default argument follows default argument
如果将其更改为:

def myfunction(x, y, silent=False)

如果未将silent作为参数传递,则silent将使用其默认值False,例如myfunctionx,y将等效于myfunctionx,y,False

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

以这种方式定义函数后:

def myfunc(x, y, silent=False):
您有一个名为myfunc的函数,它可以通过两种不同的方式调用:

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

在这两个调用中,x将是1,y将是2。在第一次呼叫中,silent将为True。在第二个参数中,silent将为False。

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

以这种方式定义函数后:

def myfunc(x, y, silent=False):
您有一个名为myfunc的函数,它可以通过两种不同的方式调用:

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

在这两个调用中,x将是1,y将是2。在第一次呼叫中,silent将为True。在第二种情况下,silent将为False。

您不能像这样设置函数,您需要将其更改为def myfunctionx,y,silent=False,这称为关键字参数,或者更常见的是kwarg。阅读任何基本的python教程。@Hamish:你的描述在几个方面都是错误的。关键字参数由调用方完成。这里的silent可以按位置提供,x可以作为关键字提供。kwarg是另一个东西,与**一起使用。我建议您阅读,然后您会发现。您不能像这样设置函数,您需要将其更改为def myfunctionx,y,silent=False,这称为关键字参数,或者更常见的是kwarg。阅读任何基本的python教程。@Hamish:你的描述在几个方面都是错误的。关键字参数由调用方完成。这里的silent可以按位置提供,x可以作为关键字提供。kwarg是另一个东西,与**一起使用。我建议您阅读,然后您会发现。也许OP发现了一些使用Py3k关键字的参数的代码。def myfunctionsilent=False,*,x,y:忘记写入*Soo,实际正确答案是停止函数编译@JBernado看起来不像OP会尝试的东西。@是的,但我猜OP是指其他东西,并当场创建了示例。也许OP发现了一些使用Py3k关键字的参数的代码。def myfunctionsilent=False,*,x,y:忘记写入*Soo,实际正确答案是停止函数编译@JBernado看起来不像是OP想要尝试的东西。@Voo是的,但我猜OP意味着其他东西,并当场创建了这个例子。我非常感谢所有的答案,尤其是Ned和Jamylak的答案。我同意将“无声”作为最后一个参数。我也同意这个解释,尽管我实际上只是想知道“静默”在python中是否有什么特殊之处,一个开发人员在代码中使用了它。是为了抑制定义后面的任何语句的执行吗?如果它不是什么特别的东西,那么它可以被我能想到的任何其他单词所代替。我真的很感激所有的答案,尤其是内德和贾米拉克的。我同意将“无声”作为最后一个参数。我也同意这个解释,尽管我实际上只是想知道“静默”在python中是否有什么特殊之处,一个开发人员在代码中使用了它。是为了抑制定义后面的任何语句的执行吗?如果它不是什么特别的东西,那么它可以被我能想到的任何其他词所取代。