小编bad*_*ian的帖子

以编程方式扩展数据类' __repr__

假设我有一个带有 set 方法的数据类。如何扩展 repr 方法,以便在调用 set 方法时它也会更新:

from dataclasses import dataclass
@dataclass
class State:
    A: int = 1
    B: int = 2
    def set(self, var, val):
        setattr(self, var, val)
Run Code Online (Sandbox Code Playgroud)

前任:

In [2]: x = State()

In [3]: x
Out[3]: State(A=1, B=2)

In [4]: x.set("C", 3)

In [5]: x
Out[5]: State(A=1, B=2)

In [6]: x.C
Out[6]: 3
Run Code Online (Sandbox Code Playgroud)

我想要的结果

In [7]: x
Out[7]: State(A=1, B=2, C=3)
Run Code Online (Sandbox Code Playgroud)

python python-dataclasses

7
推荐指数
1
解决办法
8573
查看次数

标签 统计

python ×1

python-dataclasses ×1