如何冻结非冻结数据类的各个字段?

问题描述

是否可以指定将单个字段冻结在非冻结的数据类中?像这样:

@dataclass
class Data:
    fixed: int = field(frozen=True)
    mutable: int = field(frozen=False)

d = Data(2,3)
d.mutable = 5   # fine
d.fixed = 7     # raises exception

我意识到这可以通过访问私有数据字段的属性和设置器来手动完成,但是随后我们失去了数据类的一些优势:其中一个,私有数据字段需要一个不同的名称,这意味着自动生成的构造函数令人讨厌的是,它们的参数名称与字段不同。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)