类型注解能让函数的输入和输出更清楚,dataclass 适合表示结构固定的数据。
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.0frozen=True 表示对象创建后不能随意修改,可以减少状态变化造成的问题。