在PEP 557中,数据类被引入python标准库。

它们使用@dataclass装饰器,它们应该是“可变的namedtuples with default”,但我不确定我是否理解这实际上意味着什么,以及它们与普通类有什么不同。

到底什么是python数据类,什么时候使用它们最好?