我有以下课程:
class WordItem:
def __init__(self, phrase: str, word_type: WORD_TYPE):
self.id = f'{phrase}_{word_type.name.lower()}'
self.phrase = phrase
self.word_type = word_type
@classmethod
def from_payload(cls, payload: Dict[str, Any]) -> 'WordItem':
return cls(**payload)
如何将此类重写为数据类?
具体来说,该id
字段应该如何声明?它有一个生成的值,而不是创建实例的代码将提供的字段。