python中的class类

示例代码

python 复制代码
# 定义一个学生类,用于管理学生的基本信息和成绩
class Student:
    # 初始化方法:创建学生实例时自动调用,初始化核心属性
    # 参数说明:self是实例本身(必须有),name是学生姓名,student_id是学号
    def __init__(self, name, student_id):
        # 实例属性:学生姓名
        self.name = name
        # 实例属性:学生学号
        self.student_id = student_id
        # 实例属性:成绩字典,初始三门科目成绩均为0
        self.grades = {"语文":0,"数学":0,"英语":0}

    # 定义设置成绩的方法:用于修改指定科目的成绩
    # 参数说明:course是科目名称,grade是要设置的成绩
    def set_grade(self, course, grade):
        # 校验:只有科目在成绩字典中时,才允许修改成绩
        if course in self.grades:
            self.grades[course] = grade

    # 定义打印成绩的方法:格式化输出学生的所有成绩信息
    def print_grades(self):
        # 修复原代码小问题:学号部分需用{self.student_id}嵌入f-string
        print(f"学生{self.name}(学号:{self.student_id})的成绩是:")
        # 遍历成绩字典,逐行打印科目和对应成绩
        for course in self.grades:
            print(f"{course}: {self.grades[course]}分")

# 实例化:创建名为"小陈"、学号"100618"的学生对象
chen = Student("小陈","100618")
# 调用set_grade方法:给小陈设置语文成绩92分
chen.set_grade("语文",92)
# 调用set_grade方法:给小陈设置数学成绩94分
chen.set_grade("数学",94)
# 调用print_grades方法:打印小陈的完整成绩信息
chen.print_grades()
相关推荐
花酒锄作田11 小时前
Pydantic校验配置文件
python
hboot11 小时前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络
ZhengEnCi1 天前
P2M-Matplotlib折线图完全指南-从数据可视化到趋势分析的Python绘图利器
python·matlab·数据可视化
ZhengEnCi1 天前
P2L-Matplotlib饼图完全指南-从数据可视化到图表定制的Python绘图利器
python·matlab
曲幽1 天前
你的REST接口还在“过度投喂”数据吗?——FastAPI + GraphQL实战避坑指南
python·fastapi·web·graphql·route·cors·rest·strawberry
用户8358086187911 天前
基于 Self-RAG 与列表级重排序的进阶 RAG 系统设计与实现
python
Warson_L2 天前
Python `Annotated` 与 LangGraph Reducer 学习笔记
python
韩师傅2 天前
海天线算法的前世今生
python·计算机视觉
韩师傅2 天前
当你的甲方设备过烂,要如何快速出效果?
python·计算机视觉
Warson_L2 天前
LangGraph的MessageState and HumanMessage
python