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

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

我想这样做: x %doSomething% y 对于任何x和任何y都很容易做到(见下面的代码),除非x是str. 是否有任何方法(例如添加特殊方法或引发特定错误)导致旧样式字符串格式化失败(类似于1%doSomthing如何通过TypeError失败)并恢复到doSomething对象中定义的__rmod__