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