有没有比下面的示例更好的方法来检测是否提供了可选参数?即使提供了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
两种选择
另一个呢
使用sentinel值;它是一个私有的单例,您可以使用
is
再次测试它:相关问题 更多 >
编程相关推荐