问题标签 [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 - 在 namedtuple 中输入提示
考虑以下代码:
上面的代码只是展示我想要实现的目标的一种方式。我想namedtuple
使用类型提示。
你知道任何优雅的方式来达到预期的结果吗?
python - 如何避免 __init__ 中的“self.x = x;self.y = y;self.z = z”模式?
我看到像这样的模式
非常频繁,通常带有更多参数。有没有避免这种乏味重复的好方法?类应该继承自namedtuple
吗?
python - 什么是数据类,它们与普通类有何不同?
随着PEP 557数据类被引入 python 标准库。
他们使用@dataclass
装饰器,它们应该是“具有默认值的可变命名元组”,但我不确定我理解这实际上意味着什么以及它们与普通类有何不同。
python数据类到底是什么,什么时候最好使用它们?
python - 为什么 Python 3.7 数据类不支持 < > <= 和 >=,还是支持?
对于Transcrypt Python to JavaScript 编译器的 3.7.1 版本,我目前正在使用新的@dataclass
装饰器。根据 PEP 的摘要,我曾预计==, !=, <, >, >=, <=
会得到支持,但似乎并非如此:
一些比较不起作用:
为什么不支持比较运算符,除了==
and !=
?还是我忽略了什么?
python - 如何在不注释类型的情况下添加数据类字段?
当数据类中有一个类型可以是任何类型的字段时,如何省略注释?
似乎上面的代码实际上并没有为fav_duck
. 它只是使它成为一个普通的旧类属性。
python - 如何使数据类更好地与 __slots__ 一起工作?
决定从数据类中删除__slots__
对 Python 3.7 的直接支持。
尽管如此,__slots__
仍然可以与数据类一起使用:
但是,由于工作方式的原因,__slots__
无法为数据类字段分配默认值:
这会导致错误:
如何使默认字段__slots__
和默认dataclass
字段一起工作?
python - Python 的 __slots__ 和数据类的(内存方面和访问时间方面)比较是什么
Python__slots__
用于减少实例的内存占用,这是通过将变量存储在“小型固定大小的数组 [s] 中来实现的,就像元组或列表一样”。实例属性是可变的,但您不能添加其他属性。
另一方面,有一些数据类(根据我收集的内容)通过定义一些 dunder(等)来帮助创建类,并且 PEP 557 将其描述为“具有默认值的可变命名元组”。
我了解它们的目的是不同的,实际上您可以同时使用它们。
python - 如何在 python 数据类中定义日期时间字段?
尝试正确获取 Python 3.7 新数据类的语法。
如果我想在我的数据类中包含一个日期时间值,
我应该写什么???对于日期时间字段?