3
추상 메소드 (addfeature)로 추상 수퍼 클래스 (Base)를 구현하려고하는데,이 클래스는 Child 클래스가 재정의합니다.파이썬에서 추상 메소드로 간주되는 클래스 속성 2.7 - abc 모듈
from lxml.builder import ElementMaker
from abc import ABCMeta, abstractmethod
class Base(object):
__metaclass__ = ABCMeta
ns = "http://www.foo.com/bar"
em = ElementMaker(namespace=ns, nsmap={'bar': ns})
@abstractmethod
def addfeature(self):
pass
class Child(Base):
def addfeature(self):
pass
child_instance = Child()
이 코드는
"TypeError: Can't instantiate abstract class Child with abstract methods em"
이유와 그러나 실패? em은 메소드가 아니라 클래스 속성이어야한다. (확실한 것은 추상적 인 메소드가 아님)
명확한 설명과 솔루션을 제공해 주셔서 감사합니다. –