python - 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
解决方案
您的post_init函数名称错误。你应该在 post 和 init 之间只有一个下划线,但你有两个。
推荐阅读
- python - python3中数组中所有元素的总和
- wordpress - 如何从所有供应商处获取产品
- powershell - 使用 powershell 从 AD 中提取特定的代理地址
- selenium - Internet Explorer 的 Selenium 测试无法通过 Jenkins 正确执行
- node.js - 如何在 Node.js 中使用 POST 响应的值?
- python - 文本到图像总是灰色的
- mongodb - MongoDB数据存储方式:哪一种更高效?
- tesseract - Tesseract 4:启用页面分割后,输入图像是否有最大分辨率?
- python - 从整数列表中选择值的 PySpark 新列
- python - 网页抓取和正则表达式