A呼び出し可能なクラスがあります。また、 callable にしないようにしたいAcalledのサブクラスもあります。呼び出そうとするとB、通常の「呼び出し不可」が発生するはずです。TypeError
class A():
def __call__(self):
print "I did it"
class B(A):
def __call__(self):
raise TypeError("'B' object is not callable")
ご覧のとおり、現在の私の解決策は、法線の複製を作成することTypeErrorです。標準の Python 例外のテキストをコピーしているだけなので、これは間違っているように感じます。サブクラスを呼び出し不可としてマークし、Python にその属性を処理させる方法があれば、(私の意見では) より良いでしょう。
Bそれが呼び出し可能なクラスのサブクラスであることを考えると、クラスを呼び出し可能にしないための最良の方法は何Aですか?