dataclasses相对来说是一个比较新的python特性,相比namedtuple,它的表达能力更好,支持的操作更灵活。相对于真正的class来说,它又轻量级很多。
举一个简单例子(例子来源:https://zhuanlan.zhihu.com/p/383309452)
我们知道python中是没法直接表示分数的,如果想表示分数,就需要通过其他方式,比如使用容器:
# using list
lis_fraction = [1,4] # first ele is numerator, sec ele is denominator
# using dic
dic_fraction = {"numberator":1, "denominator":4}但如果使用dataclasses就会更加直观:
from dataclasses import dataclass
@dataclass
class my_fraction:
numerator: int = 0
denomintor: int = 1关于dataclasses的具体使用方式,我们后面会有文章专门介绍,今天先给大家放一个YouTube上的一个讲解视频,个人觉得讲的还是挺不错的。