我需要编辑一些 "default arguments" 而不是全部,我该怎么做?
I need to edit some "default arguments" not all of them, how can I do that?
所以让我们从头开始。在 python 中,您可以编写带有许多参数的函数,其中一些是 "editable",其中一些是默认启动的。通常默认参数位于函数参数的最后。
假设我有很多默认参数,我只想为练习编辑其中一个,而不是第一个。
让我们使用下一个例子:
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 的值)
你应该把函数写成
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))
希望对您有所帮助:)
你可以这样使用:
def foo(val1, val2 = None, **kwargs):
return val1, val2, kwargs
print (foo(1))
(1, None, {})
print (foo(1, val3="no declared argument"))
(1, None, {'val3': 'no declared argument'})
kwargs 是一个包含您传递给函数的参数的字典 'foo'。具有默认值的参数必须在没有默认值的参数之后。总是在最后,**kwargs o **args。 args 是一个数组,其中的参数没有在函数中显式声明,而 kwargs 是字典。
在 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')
任何未指定的参数都将具有其默认值。
所以让我们从头开始。在 python 中,您可以编写带有许多参数的函数,其中一些是 "editable",其中一些是默认启动的。通常默认参数位于函数参数的最后。
假设我有很多默认参数,我只想为练习编辑其中一个,而不是第一个。
让我们使用下一个例子:
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 的值)
你应该把函数写成
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))
希望对您有所帮助:)
你可以这样使用:
def foo(val1, val2 = None, **kwargs):
return val1, val2, kwargs
print (foo(1))
(1, None, {})
print (foo(1, val3="no declared argument"))
(1, None, {'val3': 'no declared argument'})
kwargs 是一个包含您传递给函数的参数的字典 'foo'。具有默认值的参数必须在没有默认值的参数之后。总是在最后,**kwargs o **args。 args 是一个数组,其中的参数没有在函数中显式声明,而 kwargs 是字典。
在 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')
任何未指定的参数都将具有其默认值。