Python 仅在\uuuu attrs\u post\u init\uuuuuu结束后运行属性验证程序

Python 仅在\uuuu attrs\u post\u init\uuuuuu结束后运行属性验证程序,python,python-attrs,Python,Python Attrs,我有: 如何正确设置验证?我想在实例化之后验证self.number。当我们实现\uuuuuu attrs\u post\u init\uuuuu是在\uu init\uuuu>之前还是之后运行验证器时,有一些讨论 我们以前决定过,因为它们的主要存在理由是保护类不被错误实例化,并让您对属性中的内容有信心 也就是说,您始终可以使用以下方法手动运行验证程序: 我们做的是使验证更灵活,并且在执行时更灵活,但还没有具体的结果。什么是attr?您好@warvariuc,这是一个包 @attr.s cla

我有:


如何正确设置验证?我想在实例化之后验证self.number。

当我们实现
\uuuuuu attrs\u post\u init\uuuuu
是在
\uu init\uuuu>之前还是之后运行验证器时,有一些讨论

我们以前决定过,因为它们的主要存在理由是保护类不被错误实例化,并让您对属性中的内容有信心


也就是说,您始终可以使用以下方法手动运行验证程序:


我们做的是使验证更灵活,并且在执行时更灵活,但还没有具体的结果。

什么是
attr
?您好@warvariuc,这是一个包
@attr.s
class Example:
    number = attr.ib(validator=attr.validators.instance_of(int), init=False)

    def __attrs_post_init__(self):
        self.number = 'string'
        print('It seems, validation was running before:(')


t = Example()
@attr.s
class Example:
    number = attr.ib(validator=attr.validators.instance_of(int), init=False)

    def __attrs_post_init__(self):
        self.number = 'string'
        # ...
        attr.validate(self)