问题标签 [python-dataclasses]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在 Python 3.7+ 中定义循环依赖的数据类?
假设class A
有一个类型为 的成员class B
,并且class B
有一个类型为 的成员class A
。
在 Scala 或 Kotlin 中,您可以在这种情况下以任何顺序定义类而无需担心,因为第一个定义的类可以照常使用第二个定义的类,即使在案例/数据类中也是如此。
但是在 Python 中,下面的代码
抛出编译错误,因为class B
在定义时class A
未定义。
您可以解决这个简单的案例,就像在这个答案中一样
但是,这种方式不适用于 Python 中的数据类,因为在定义数据类之后分配成员不会更新数据类的自动生成方法,这使得“数据类”的使用毫无用处。
我怎样才能避免这个问题?
typechecking - Python 3.7 嵌套数据类 mypy 类型检查错误
根据我猜的功能,这段代码是正确的。但是,当我运行时mypy src --ignore-missing-imports
,我收到以下错误:
如果有人能帮助我克服这个问题,那将会很有帮助。谢谢
python - 如何访问 python 数据类的默认参数中的另一个参数?
我正在尝试导出id_
from的默认值,name
反之亦然。
我应该能够像这样调用类:
id_
如果可能的话,我还希望课程在同时提供和时引发错误name
。
关于我应该如何去做的任何建议?
python - 如何在 python3 数据类中断言类型?
我正在使用允许指定类字段的类型的新dataclass
功能。Python3
在这个例子中,field2 应该是 List[int] 类型,我将 List[str] 传递给它。这段代码运行没有失败,我想知道如果将错误的类型传递给类,是否有(自动)方法使代码失败(即使用断言等)。
python-3.x - 正确使用数据类返回项目的值
该项目是使用特定算法将项目分类到盒子中。在将每个项目分配给适当的类后,我遇到了麻烦,以返回另一个函数并使用和修改数据类中对象中保存的数据。
我的测试文件如下所示:
我的课程:
这是我阅读文本文件并将其传输到班级的地方:
未实现的算法:
我的问题是我确实知道如何从我的算法中的 fileReader 函数读取解析的数据。功能。
python - 数据类子类不继承 __repr__
我正在使用dataclasses
从 Python 3.7 向后移植的 Python 模块。我偶然发现了数据类子类不继承的这种行为__repr__
:
这是输出
1)为什么会这样?
2)这种行为是否有解决方法(__repr__
在子类中重新定义除外)?
python - 如何使用数据类避免意外参数警告?
我有以下简单的代码。
我不明白为什么 PyCharm 会突出显示这一行:
return cls(a=False, b=False, c=False)
withunexpected argument
我做错了吗?
python - 来自嵌套字典的 Python 数据类
3.7 中的标准库可以递归地将数据类转换为字典(来自文档的示例):
我正在寻找一种在嵌套时将字典转回数据类的方法。C(**tmp)
只有当数据类的字段是简单类型而不是数据类本身时,类似的东西才有效。我熟悉 [jsonpickle][1],但它带有一个突出的安全警告。
编辑:
答案建议使用以下库:
- 英安
- mashumaro(我用了一段时间,效果很好,但我很快就遇到了棘手的角落案例)
- pydantic(效果很好,文档很好,极端案例更少)[1]:https ://jsonpickle.github.io/
python - 如何显示使用@dataclass 类装饰器时生成的代码?
Python 3.7 引入了dataclasses
包含@dataclass
装饰器的模块。这个装饰器可以生成类函数。如何打印这些生成的函数?