Python3数据类初始化

Python3数据类初始化,python,python-3.x,Python,Python 3.x,除了内置初始值设定项提供的内容外,DataClass是否有一种方法可以添加额外的初始化,而不重写它?具体来说,我想在初始化时检查作为数据类中的字段之一的整数列表的一些值。如中所述,有一个\uuuuuuu post\u init\uuuuu方法,它将是\uuuu init\uuuu调用的最后一个方法 from dataclasses import dataclass @dataclass class DataClass: some_field: int def __post_

除了内置初始值设定项提供的内容外,DataClass是否有一种方法可以添加额外的初始化,而不重写它?具体来说,我想在初始化时检查作为数据类中的字段之一的整数列表的一些值。

如中所述,有一个
\uuuuuuu post\u init\uuuuu
方法,它将是
\uuuu init\uuuu
调用的最后一个方法

from dataclasses import dataclass

@dataclass
class DataClass: 
    some_field: int

    def __post_init__(self):
        print(f"My field is {self.some_field}")
定义此数据类,然后运行以下操作:

dc = DataClass(1) # Prints "My field is 1"
某些字段
初始化为1,然后运行
\uu post\u init\uuuu
,打印
我的字段为1


这允许您在初始化方法之后运行代码,以执行可能需要执行的任何其他设置/检查。

您阅读了吗?是的,在发布此问题后不久。不幸的是,我忘了把它取下来。但是,我会回答我自己的问题,因为这个问题没有堆栈溢出的答案,这是最容易找到编程问题答案的网站,只要答案存在并且没有被否决而被遗忘。这是金子!谢谢