デフォルトの引数を取り、指定されていない場合に特別な動作をする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でこれを行う慣用的な方法は何ですか?