这是关于这个问题的答案,旨在使用Python的abc模块创建抽象类(由@alexvassel回答并被接受)。我尝试了这些建议,但奇怪的是,即使我按照使用abc的建议操作,它也无法为我工作。因此,我在这里发布了一个问题:
以下是我的Python代码:
以下是我的Python代码:
from abc import ABCMeta, abstractmethod
class Abstract(object):
__metaclass__ = ABCMeta
@abstractmethod
def foo(self):
print("tst")
a = Abstract()
a.foo()
当我执行这个模块时,这是在我的控制台上的输出:
pydev debugger: starting (pid: 20388)
tst
与那个被接受的答案相反
>>> TypeError: Can not instantiate abstract class Abstract with abstract methods foo
那我到底做对了什么,做错了什么?为什么有些事情能成功而有些事情会失败?非常感谢专家们的深入解析。