因此,让我们从头开始。在python中,您可以编写带有许多参数的函数,其中一些是“可编辑的”,并且其中一些是默认启动的。通常,默认参数位于函数参数的末尾。
假设我有许多默认参数,并且我想为练习只编辑其中一个而不是第一个。
让我们使用下一个示例:
foo(val_1,val_2,val_3=0,val_4=1,val_5='true')
sth here
return sth else
所以在这里我需要在函数之前定义
val_1,val_2
默认为其他参数。...如何更改:
val_5,
或
val_4,
无需编写整个函数
foo(val_1,val_2,val_3=0,val_4=10,val_5='false')
是否可以编写如下内容:
foo(val_1,val_2, ,val_4=10,val_5='false')
(缺少val_3的值)
答案 0 :(得分:3)
在Python中,当您为参数指定默认值时,将其设为命名变量。
如果使用以下原型声明方法:
foo(val_1, val_2, val_3=0, val_4=10, val_5='false')
然后val_3
,val_4
和val_5
被命名为变量,其默认值分别为0
,10
和'false'
。
调用此方法时,可以忽略其中任何一个。因此,以下任何调用都是合法的:
foo(x, y)
foo(x, y, val_3=3)
foo(x, y, val_3=1, val_5='haha')
任何未指定的参数都将具有其默认值。
答案 1 :(得分:0)
您应将函数编写为
def foo(val_1,val_2,val_3=0,val_4=1,val_5='true'):
#whatever code you want
然后运行以下命令不应引起任何错误
print(foo(1,2,val_4=7,val_5='false'))
print(foo(1,2,val_3=6,val_4=9))
希望它会有所帮助:)
答案 2 :(得分:0)
您可以像这样使用somethinig:
ls
kwargs是具有传递给函数'foo'的参数的字典。具有默认值的参数必须在不带默认值的参数之后。而且总是在最后,变态或变态。 args是带有参数的数组,函数中没有显式声明,而kwargs是dict。