如何在python上保持默认参数



我知道我们可以给函数指定参数,也可以不带参数地调用函数:

def printWords(text1="a", text2="b"):
print('The text1 is "%s" and text2 is "%s"' % (text1,text2))

printWords()

然后,我们可以得到结果

The text1 is "a" and text2 is "b"

我们也可以传递结果来覆盖默认参数

printWords("Apple") // The text1 is "Apple" and text2 is "b"
printWords("Apple","Banana") // The text1 is "Apple" and text2 is "Banana"

那么,如果我只想改变text2怎么办?在这种情况下,我们可以将a传递到函数中。但是如果有很多长文本的参数,例如:

,那就太乱了。
def curlSomthing(sslKey="MIICXAIBAAKBgQCRq88qPiw..............=",someText="BuDPuTMSUrwnophwzti8HRc6Z7SYaGnFHMVMrF/3f/TgdWd4UTH3397RA7m5I4gVNbFCA0xOTfh............",someSetting=False):
....
....
....
....

我们不能在每次调用函数时复制和粘贴所有参数。我知道这不是定义函数的好方法。但是在我公司的代码中有很多这样的函数。我不能改变所有的功能

有答案吗?

只需将参数名称指定为关键字参数:

printWords(text2="Apple")

text1保持不变。

和其他乱七八糟的函数:

curlSomthing(someText="foo bar")

相关内容

  • 没有找到相关文章

最新更新