草庐IT

python - 是否可以使用 __rmod__ 覆盖 str 的 % 行为?

我想做的事:x%doSomething%y除了x是str的情况外,对于任何x和任何y,这很容易做到(参见下面的代码)。有什么方法(例如添加特殊方法或引发特定错误)导致旧样式字符串格式化失败(类似于1%doSomthing失败并出现TypeError)并恢复到doSomething对象中定义的__rmod__方法?classBinaryMessage(object):def__init__(self,fn):self._fn=fndef__rmod__(self,LHS):returnBinaryMessagePartial(self._fn,LHS)classBinaryMessage