我知道我们可以给函数指定参数,也可以不带参数地调用函数:
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")