从3.7版本开始,python提供了 data 类。与常规类或其他替代方法(如返回多个值或字典)相比,有以下几个优点:
-
数据类需要至少一定数量的代码
-
可以通过 eq 方法来比较不同的data类对象
-
可以 repr 通过很容易地打印一个数据类来进行调试
-
数据类需要类型提示,因此减少了 bug
一个data类的例子如下:
from dataclasses import dataclass @dataclass class Card: rank: str suit: str card = Card("Q", "hearts") print(card == card) # True print(card.rank) # 'Q' print(card) Card(rank='Q', suit='hearts')