类型注解能让函数的输入和输出更清楚,dataclass 适合表示结构固定的数据。

PYTHON
from dataclasses import dataclass

@dataclass(frozen=True)
class Student:
    name: str
    scores: list[float]

    def average(self) -> float:
        return sum(self.scores) / len(self.scores) if self.scores else 0.0

frozen=True 表示对象创建后不能随意修改,可以减少状态变化造成的问题。