小编sco*_*mcc的帖子

让 Python 数据类可迭代?

我有一个数据类,我想在循环中迭代以吐出每个值。我可以__iter__()很容易地在其中写一个很短的内容,但这是我应该做的吗?我在文档中没有看到任何有关“可迭代”参数或任何内容的内容,但我只是觉得应该有......

这是我所拥有的,再次运行良好。

from dataclasses import dataclass

@dataclass
class MyDataClass:
    a: float
    b: float
    c: float

    def __iter__(self):
        for value in self.__dict__.values():
            yield value

thing = MyDataclass(1,2,3)
for i in thing:
    print(i)
# outputs 1,2,3 on separate lines, as expected
Run Code Online (Sandbox Code Playgroud)

这是最好/最直接的方法吗?

python python-dataclasses

11
推荐指数
1
解决办法
4646
查看次数

标签 统计

python ×1

python-dataclasses ×1