写那种只负责带几项字段的小对象时,dataclasses.dataclass 还挺舒服的。
环境:Python 3.8+,只用标准库。保存成 dataclass-demo.py 跑:
from dataclasses import dataclass
@dataclass
class Job:
name: str
retries: int = 3
job = Job('sync-users')
print(job)
print(job.name)
print(job.retries)
other = Job('sync-users')
print(job == other)
它会自动补上初始化、打印展示和简单比较。小配置、小任务描述这种场景,比手写 __init__ 清爽一点。