我有一个A
可调用的类。我还有一个A
被调用的子类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
?