我有一个数据集,我想在评估另一个属性device_group之后动态创建属性device_name。我目前正在使用@property来完成这个任务,如果我用instance.device_group访问它,它就能工作。
@dataclass
class Device:
device_name: str
uplinks: list
@property
def device_group(self) -> str:
# do something here with self.device_name
return device_group 但是,除非尝试使用instance.device_group访问类实例,否则类实例将不具有此属性。
"unknown_device": {
"device_name": "unknown_device",
"uplinks": [
{实例能够在创建device_group之后立即动态生成它吗?还是我最好在其他地方调用device_group(),然后显式地将结果分配给device_group属性?
发布于 2022-01-29 21:40:05
你可以用后输入处理
from dataclasses import dataclass, field
@dataclass
class Device:
device_name: str
uplinks: list
device_group = field(init=False)
def __post_init__(self):
self.device_group = self.device_name + "_group"https://stackoverflow.com/questions/70909727
复制相似问题