我经常看到Python代码使用默认参数,并在未指定时具有特殊行为。
例如,如果我想要以下行为:
def getwrap(dict, key, default = ??):
if ???: # default is specified
return dict.get(key, default)
else:
return dict[key]
如果我要自己做,我会得到这样的东西:
class Ham:
__secret = object()
def Cheese(self, key, default = __secret):
if default is self.__secret:
return self.dict.get(key, default)
else:
return self.dict[key]
但我不想在肯定存在标准的情况下发明愚蠢的东西。在Python中,什么是惯用的方法呢?