例如,我想做这样的事情:greet(,'hola'),其中greet 是:
def greet(person='stranger', greeting='hello')
这将极大地有助于在编写代码时进行测试
最佳答案
在调用函数时,您可以使用变量名称来更加清楚哪个变量将采用哪个值。同时,如果函数定义中提供了默认值,则在调用函数时跳过变量不会引发任何错误。所以,简而言之,你可以这样做:
def greet(person='stranger', greeting='hello')
print('{} {}'.format(greeting, person))
return
greet(greeting='hola') # same as greet(person='stranger', greeting='hola')
# returns 'hola stranger'
请注意,正如我上面所说,如果例如您的函数定义是这样的,这将不起作用:
def greet(person, greeting)
print('{} {}'.format(greeting, person))
return
因为在这种情况下,Python 会提示说它不知道如何处理
person
;没有提供默认值..顺便说一句,您所描述的问题很可能是首先使用默认值的原因
关于Python:使用位置参数之前的默认参数调用函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44138277/