我为什么要这样做?
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的对象,虽然它没有实现抽象方法?
答案 0 :(得分:3)
您错过了_
__metaclass__ = ABCMeta