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()
相关推荐
troy1289 分钟前
Codex 安全盲区:代码漏洞生成实测
windows·python·ci/cd·pycharm·django·github·fastapi
嵌入式学习菌34 分钟前
Workbuddy自动写一个RS485 / LoRa 参数调试工具
python
钱栈up1 小时前
番茄小说榜单爬虫失效排查:从页面路由变更到API参数映射的全流程复盘
python
唐璜Taro1 小时前
Agent Harness 系列 · 第 1 篇|Agent 不只是换一个更强的模型
人工智能·python
码行山野赴时序归途2 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
泡茶喝茶写代码2 小时前
量化数据进阶:多维实战篇(第 11 篇):历史涨跌停价:涨跌停序列与止损线测算
java·python·股票数据api·股票数据·股票数据api接口·股票api数据接口·股票量化数据api
景熙55232 小时前
单体项目编写思路和落地形式
java·开发语言
ikun_文2 小时前
Django开启跨域请求
python·pycharm·django
外收内放2 小时前
Python与AI应用(项目开发实战:AI智能伴侣第三版)
python·学习·ai编程
别动我齐刘海3 小时前
ROS2 Jazzy + C++ 实战路线——进阶学习3
c++·人工智能·vscode·python·算法·机器学习·机器人