当前位置: 首页 > wzjs >正文

网站建设网页制作总排行榜总点击榜总收藏榜

网站建设网页制作,总排行榜总点击榜总收藏榜,山东济宁做网站的公司,邯郸网站建设推广🎯 今日目标 理解Python模块和包的概念学会如何拆分大型程序为多个模块掌握模块的导入和使用方法了解包的结构和创建简单封装工具函数模块 📚 核心概念 模块(Module):一个 .py 文件就是一个模块,里面可以…

🎯 今日目标

  • 理解Python模块和包的概念
  • 学会如何拆分大型程序为多个模块
  • 掌握模块的导入和使用方法
  • 了解包的结构和创建
  • 简单封装工具函数模块

📚 核心概念

模块(Module):一个 .py 文件就是一个模块,里面可以定义函数、类、变量等。

包(Package):一个包含 init.py 文件的文件夹,即一个包,包里可以包含多个模块。

通过模块和包,可以把程序拆分成多个功能清晰、职责单一的部分。


🛠️ 拆分学生管理系统代码示例

  1. 创建文件结构

    student_manager/
    ├── main.py
    ├── student.py
    ├── manager.py
    └── utils.py
    
  2. student.py — 学生类定义

    # student.pyclass Student:def __init__(self, sid, name, score):self.sid = sidself.name = nameself.score = scoredef __str__(self):return f"{self.sid:<6} {self.name:<10} {self.score:<5}"def __eq__(self, other):if isinstance(other, Student):return self.sid == other.sidreturn False
    
  3. manager.py — 管理类

    # manager.pyfrom student import Studentclass StudentManager:def __init__(self):self.students = []def add_student(self, sid, name, score):self.students.append(Student(sid, name, score))def show_all(self):print(f"{'学号':<6} {'姓名':<10} {'成绩':<5}")for stu in self.students:print(stu)def find_by_sid(self, sid):for stu in self.students:if stu.sid == sid:print("找到学生:", stu)returnprint("未找到该学号的学生。")def delete_by_sid(self, sid):for stu in self.students:if stu.sid == sid:self.students.remove(stu)print("删除成功!")returnprint("删除失败,未找到该学号。")def sort_by_score(self):self.students.sort(key=lambda x: x.score, reverse=True)print("成绩排序成功!")self.show_all()def search_by_name(self, keyword):result = [stu for stu in self.students if keyword.lower() in stu.name.lower()]if result:print(f"{'学号':<6} {'姓名':<10} {'成绩':<5}")for stu in result:print(stu)else:print("未找到相关学生。")
    
  4. utils.py — 工具函数(示例)

    # utils.pydef input_score(prompt="请输入成绩:"):while True:try:score = float(input(prompt))return scoreexcept ValueError:print("输入无效,请输入数字。")
  5. main.py — 程序入口

    # main.pyfrom manager import StudentManager
    from utils import input_scoredef run():manager = StudentManager()while True:print("\n==== 学生成绩管理系统 ====")print("1. 添加学生")print("2. 显示所有学生")print("3. 查找学生")print("4. 删除学生")print("5. 按成绩排序")print("6. 退出")print("7. 按姓名模糊查找")choice = input("请输入操作编号:")if choice == "1":sid = input("请输入学号:")name = input("请输入姓名:")score = input_score()manager.add_student(sid, name, score)print("添加成功!")elif choice == "2":manager.show_all()elif choice == "3":sid = input("请输入要查找的学号:")manager.find_by_sid(sid)elif choice == "4":sid = input("请输入要删除的学号:")manager.delete_by_sid(sid)elif choice == "5":manager.sort_by_score()elif choice == "6":print("感谢使用,已退出。")breakelif choice == "7":keyword = input("请输入要查找的姓名关键词:")manager.search_by_name(keyword)else:print("输入无效,请重新输入。")if __name__ == "__main__":run()

📝 今日练习任务

  • 将已有的“学生成绩管理系统”代码拆分成上述模块文件,实现模块导入运行。

  • 新增一个工具函数 input_score 来校验成绩输入。

  • 尝试为系统增加新模块,比如添加一个 file_manager.py 模块,来实现后续的文件保存与读取功能。

    • file_manager.py — 文件读写模块示例

      # file_manager.py
      import os
      from student import StudentFILE_PATH = "students_data.txt"def save_students(students):"""将学生列表保存到文件,覆盖写入"""with open(FILE_PATH, "w", encoding="utf-8") as f:for stu in students:# 格式:学号|姓名|成绩line = f"{stu.sid}|{stu.name}|{stu.score}\n"f.write(line)def load_students():"""从文件读取学生数据,返回 Student 对象列表"""students = []if not os.path.exists(FILE_PATH):return studentswith open(FILE_PATH, "r", encoding="utf-8") as f:for line in f:line = line.strip()if not line:continuesid, name, score_str = line.split("|")try:score = float(score_str)except ValueError:score = 0.0students.append(Student(sid, name, score))return students
      
    • 在 StudentManager 类中,可以增加两个方法:

      from file_manager import save_students, load_studentsclass StudentManager:def __init__(self):# 加载时初始化学生列表self.students = load_students()# 其他方法...def save_to_file(self):save_students(self.students)print("数据已保存到文件。")
    • 退出时保存
      在 main.py 退出程序时调用:

      elif choice == "6":manager.save_to_file()print("感谢使用,数据已保存,程序退出。")break
      

🧾 今日总结

知识点说明
Python模块单个 .py 文件即为模块
包(Package)带有 __init__.py 的文件夹
导入语法importfrom ... import ...
拆分代码方便维护、复用和多人协作
http://www.dtcms.com/wzjs/490079.html

相关文章:

  • 四川重庆是哪个省太原seo软件
  • 工程建设教育网站百度老年搜索
  • 沈阳什么行业做网站的最多网站排名优化公司哪家好
  • 那里可以做网站seo排名优化软件免费
  • 上海外贸网站建设世界企业排名500强
  • wordpress 点击文章seo
  • 一个页面的html5网站模板 psd佛山网络推广哪里好
  • 广州市网站建设价格网站维护费用
  • 网站如何做熊掌号谷歌搜索入口手机版
  • 免费动态网站开发教程想学手艺在哪里可以培训
  • 建设租房信息网站免费b站在线观看人数在哪儿
  • 网站建设 中企动力南昌天津seo培训
  • 做静态网站步骤seo检测优化
  • 企业开通网站的费用怎么做分录百度推广是什么意思
  • app定制开发运营推广方案网络seo排名
  • flv网站建设站长工具seo排名
  • 松滋做网站如何设计一个网页
  • 茶网站建设实训报告东营百度推广电话
  • 手机网站源码教程批量查询指数
  • 厦门集美建设局网站seo快速优化排名
  • 抖音代运营图片拼多多关键词优化是怎么弄的
  • 北京网站建设+知乎搜索引擎优化教程
  • 厦门网站推广找谁域名查询ip138
  • 真人做爰直播视频网站佛山全市核酸检测
  • 免费建站免费二级抖音关键词查询工具
  • 做任务反佣金的网站湖南长沙seo
  • 南京市住房和城乡建设厅网站站长推广网
  • 幼儿园网站建设总结seo方案书案例
  • 深圳方维网站建设公司一个新品牌如何推广
  • 滕州网站优化网站seo综合诊断