首页 > 解决方案 > python数据类没有属性post_init

问题描述

当我运行下面的代码时:

import pandas as pd
from dataclasses import dataclass


@dataclass
class SomeClass:
    df_in: pd.DataFrame

    def __post__init__(self):
        self.b = 1


if __name__ == '__main__':
    df_in = pd.DataFrame([])
    p = SomeClass(df_in=df_in)
    p.b

我明白了

AttributeError: 'SomeClass' object has no attribute 'b'

为什么?

编辑:

我是否正确使用post__init ,因为数据类中没有init

标签: pythonpostinit

解决方案


您的post_init函数名称错误。你应该在 post 和 init 之间只有一个下划线,但你有两个。


推荐阅读