Как я могу установить документ для атрибута класса при работе с протоколом дескриптора в Python?

Я использую протокол дескриптора для проверки типа атрибутов класса ( ссылка). Но я не уверен, как установить документ для этого атрибута при их установке. Есть ли способ установить документ?



    class IntField:
        def __get__(self, instance, owner):
            return instance.__dict__[self.name]

        def __set__(self, instance, value):
            if not isinstance(value, int):
                raise ValueError(f'expecting integer in {self.name}')
            instance.__dict__[self.name] = value

        # this is the new initializer:
        def __set_name__(self, owner, name):
            self.name = name


    class BaseModel(type):

        def __new__(cls, classname, baseclasses, props):
            for name, ctor, doc in props.get('_props'):
                props[name] = ctor()
                return super(BaseModel, cls).__new__(cls, classname, baseclasses, props)


    class Model(metaclass=BaseModel):
        _props = (
            # name, type, doc string
            ("count", IntField, "Count of instance"),
        )

0 ответов

Другие вопросы по тегам