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()
相关推荐
weixin_433179336 分钟前
python - 正则表达式Regex
python·正则表达式
Riemann~~13 分钟前
ros2写一个可以修改参数的node
开发语言·python·ros2·机器人系统
郝学胜-神的一滴13 分钟前
PyTorch 张量基础:零张量/一张量/指定值张量全解析
人工智能·pytorch·python
7yewh13 分钟前
Dense / 全连接层 / Gemm — 综合全局特征理解与运用
网络·人工智能·python·深度学习·cnn
无巧不成书021813 分钟前
Java核心技术全景解析:从白皮书到实战踩坑
java·开发语言
Roy_Sashulin15 分钟前
基于AI的Java编程平台
java·开发语言·人工智能·sashulin·deepseek
工业互联网专业18 分钟前
基于Python的黑龙江旅游景点数据分析系统的实现_flask+spider
python·flask·vue·毕业设计·源码·课程设计·spider
周万宁.FoBJ19 分钟前
vue源码讲解之 reactive解析(仅proxy部分)
开发语言·javascript·ecmascript
阿贵---24 分钟前
单元测试在C++项目中的实践
开发语言·c++·算法
进击的小头25 分钟前
第14篇:MPC控制案例——无人机高度控制
python·算法·无人机