Python ABC在Python 2.7.6中无法正常工作?

时间:2015-06-13 13:52:17

标签: python python-2.7

我为什么要这样做?

from abc import ABCMeta, abstractmethod

class AbstractClass(object):

    _metaclass__ = ABCMeta

    @abstractmethod
    def foo():
        pass


    @abstractmethod
    def bar():
        pass

class ConcreteClass(AbstractClass):
    pass


a = AbstractClass()
nb = ConcreteClass()

没有错误。一切都运行得很好。为什么我可以实例化一个abtract类,为什么我可以实例化ConcreteClass的对象,虽然它没有实现抽象方法?

1 个答案:

答案 0 :(得分:3)

您错过了_

__metaclass__ = ABCMeta