是否有更好的方法來檢測是否提供了可選參數?即使提供了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
這是真的,這是一個棘手的搜索,因爲它是一個有點不同於標準的「默認值」。 –