问题标签 [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.

0 投票
1 回答
4596 浏览

python - dataclasses.asdict() 没有按预期工作

我正在使用dataclassand asdictfrom dataclasses,当我引入继承时,我发现它asdict不像我所期望的那样工作。

dataclasses用来帮助我从类创建字典,以便我可以将它们传递到django.shortcuts.render.

我希望输出是

但我得到的只是基类的关键字值

0 投票
1 回答
525 浏览

python-3.x - Python 3.7 数据类:为未定义的属性赋值时引发错误

我想将数据类的使用限制为我的代码的用户,并且想知道如何在以下上下文中引发错误:

当前最后一行成功并且不更改底层对象。我希望最后一行抛出错误。

0 投票
6 回答
6118 浏览

python - 数据类:如何使用 asdict() 忽略 None 值?

如何获得忽略 None 值的字典?就像是:

0 投票
3 回答
3085 浏览

python - 在 Python 中定义具有自动生成的 __init__ 和来自值字典的附加 init2 的数据类的正确方法是什么

在 Python 中,我有一个包含十几个成员的数据类。我用它来创建一个我发布到 ElasticSearch的字典。

现在我想从 ElasticSearch中获取一个 dict并用它来初始化数据类。

自从:

  1. Python 不允许创建具有不同签名的第二个 __ init __。
  2. 我不想手动编写自动生成的 __ init __ 只是为了添加一个可选参数
  3. 我不想添加一个可选参数来接受字典,只是为了让 __ init __ 保持自动生成。

我想添加第二个方法init2,它将返回数据类的实例并将传递的 dict 参数解析为自动生成的 __ init __ 方法。


我会根据您的意见来决定我下面建议的解决方案是否是正确的实现。

另外,这个实现可以被认为是一种工厂吗?

谢谢。


跟进:由于我从 ES 请求中得到的 JSON\dictionary 是:

  1. 具有与数据类完全相同的关键字

  2. 是flat,id,没有嵌套对象。

我可以简单地将值作为 **dict 传递给自动生成的 __ init __ 方法。

对于这种特定情况,请参阅下面的答案:


0 投票
0 回答
3329 浏览

python - Python - 用于读取数据的熊猫数据框或数据类实例数组?

我对使用 Python 进行数据分析相对较新,我正在尝试确定读取数据的最实用和最有用的方法,以便我可以索引它并在计算中使用它。我有许多 np.arrays 形式的图像,每个图像都有一组相应的数据,例如 x 和 y 坐标、大小、过滤器编号等。我只想确保每组数据与其对应的图像。我的第一个想法是将数据粘贴到数据类实例的 np.array 中(其中数组的每个元素都是包含我所有数据的实例)。我的第二个想法是熊猫数据框。

我的直觉告诉我,使用数据框更有意义。np.arrays 是否很好地存储在数据帧中?每种方法的优点/缺点是什么?如果我需要经常从它们中提取数据,并且我总是需要确保数据可以与其对应的图像匹配,那么哪种方法最好?

我必须读入哪些变量:x_coord - float,y_coord - float,filter - int,image - np.ndarray。

我一直在尝试将图像数组粘贴到 pandas 数据框中,但是当使用.loc它进行索引时,运行 Jupyter Notebook 单元格的速度非常慢。使用 . 填充数据框也很慢.from_dict()。我猜数据框不是用来保存 np.ndarrays 的吗?

我最担心的是簿记和索引的易用性 - 我可以做些什么来始终确保我可以检索相应图像的元数据?我的数据应该采用什么形式,以便我可以轻松提取图像及其元数据,或具有相同过滤器编号的所有图像等。

0 投票
0 回答
3552 浏览

python - 在 Python 数据类中,为什么 InitVar 可以有默认值但没有 default_factory?

在 Python 3.7 中,我可以创建一个具有默认值的数据类InitVar

现在我尝试创建一个具有可变默认值的类似数据类,我需要使用它来代替:default_factory

但是,这是无效的。Python 提出TypeError: field seeds cannot have a default factory.

标准库中的dataclasses.py文件没有解释原因:

为什么?这种特殊限制背后的理由是什么?这有什么意义?

0 投票
3 回答
1001 浏览

python - Python中数据类嵌套列表的装饰器

我想创建一个数据类的字典,其中包含作为属性的数据类列表

这是我想要实现的示例:

我发现最近的装饰器是这个,但它不适用于数据类列表: 在 Python 中创建嵌套数据类对象

您将如何修改此装饰器或创建一个可以完成这项工作的装饰器?(我在建筑装饰师方面的经验为零)

非常感谢任何评论/代码。谢谢

0 投票
1 回答
352 浏览

python - 我无法将字段命名为“来自”

我在python上为自己写了一个脚本,我使用dataclass库,我有一个用Java写的现成的DTO,我尝试在python上重复,有一个字段叫做“from”,这个字段我可以叫什么在 python 中,因为我不能用同样的方式称呼他?

我使用 python 3.7 和 dataclass_json

SyntaxError:无效的语法

0 投票
3 回答
346 浏览

python - 使用 Python 数据类时,处理数据以初始化数据类的正确位置在哪里

在 Python 中,

我正在使用一个名为“MyDataClass”的数据类来存储由 http 响应返回的数据。假设响应内容是这样的 json,我只需要前两个字段

现在我有两个选择:

选项1

我利用数据类的自动定义的init方法

或者

选项 2

并将处理留给数据类的init方法,如下所示:

我更喜欢第二种选择,但我想知道是否有正确的方法。

谢谢。

0 投票
1 回答
101 浏览

python - python 的注解(例如数据类)可以扩展成它产生的代码吗?

我仍然是python的业余爱好者。

是否可以看到 python 的注释扩展到什么?例如,与数据类相关的错误,有时试图找出它实际生成的代码有点棘手。

例如:

==

或者,如果不可能,除了检查注释源代码之外,您通常如何弄清楚它们扩展到什么?

例如,Racket 有一个强大的机制来扩展宏,python 有没有等价的东西?