attrs과 abstract classes을 어떻게 조합 할 수 있는지 궁금합니다. 나는 모든 상속 클래스에 있어야하는 추상 속성을 정의하는 추상 클래스를 정의하고 싶다.Python - 추상 클래스를 상속받은 클래스들
이 상속 클래스에 대해 속성을 정의하려면 attrs를 사용합니다.
AttributeError: can't set attribute
아마도 추상적 사용하여 바인드합니다?
@attr.s()
class Parent(object):
__metaclass__ = abc.ABCMeta
x = attr.ib(abstract=True)
이 될 수있는 속성을 선언 할 수있는 방법이있다 :
import abc
import attr
class Parent(object):
__metaclass__ = abc.ABCMeta
@abc.abstractproperty
def x(self):
pass
@attr.s()
class Child(Parent):
x = attr.ib()
c = Child(9)
c.x = 7
다음과 같은 오류가 발생합니다 : 그래서 모두 약간의 재생 시도
두 모듈의 이점을 얻는 더 좋은 방법을 발견하면 매우 감사하겠습니다!
미리 감사드립니다.
이것은 https://github.com/python-attrs/attrs/issues/293 및 https://github.com/python-attrs/attrs/issues/303을 암시하는 것 같습니다. – hynek