是否有更好的方法来检测是否提供了可选参数?即使提供了None
,我们也希望返回,而不是引发异常。检测是否提供了可选参数(可能包含无)
预期结果:
>>> get_value('key-exists-not') # default not provided
KeyError
>>> get_value('key-exists-not', None) # should support arg
None
>>> get_value('key-exists-not', default=None) # as well as kwarg
None
>>> get_value('key-exists-not', default='')
''
这是最好的/推荐的方式做到这一点?
def get_value(key, default='somerubbishthatwillneverbeused'):
try:
return _data[key]
except KeyError:
if default != 'somerubbishthatwillneverbeused':
return default
raise
这是真的,这是一个棘手的搜索,因为它是一个有点不同于标准的“默认值”。 –