我经常看到 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 中这样做的惯用方式是什么?