这是参考“使用python的abc模块创建抽象类”这个问题的答案。(通过@alexvassel 并被接受为答案)。
我尝试了这些建议,但奇怪的是,尽管遵循了使用该abc
方式的建议,但它对我不起作用。因此,我将其作为问题发布在这里:
这是我的 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
那么我在做什么是对还是错?为什么工作而不失败?感谢任何专家对此的见解。