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

Python 入门总结与实践:构建你的第一个程序

恭喜你! 经过前面几篇博客的学习,你已经掌握了 Python 编程的基础知识,包括变量、数据类型、运算符、控制流语句、函数、模块和包、以及文件操作。 现在,是时候将这些知识应用到实践中,构建你的第一个 Python 程序了! 本文将带你回顾 Python 入门的重点知识,并提供一个简单的项目案例,帮助你巩固所学,开启你的编程之旅。

一、回顾 Python 入门的重点知识

  • 基础语法:

    • 变量的定义和使用
    • 数据类型 (整数、浮点数、字符串、布尔值、列表、元组、字典、集合)
    • 运算符 (算术、比较、逻辑、赋值)
    • 注释 (单行注释 #,多行注释 """...""" )
  • 控制流语句:

    • ifelifelse 条件语句
    • forwhile 循环语句
    • breakcontinue 语句 (控制循环)
  • 函数:

    • 函数的定义和调用
    • 参数 (位置参数、关键字参数、默认参数、可变参数)
    • 返回值
    • 作用域
    • 匿名函数 (lambda 函数)
  • 模块和包:

    • 模块的导入 (importfrom ... import)
    • 标准库模块
    • 包的创建和使用
  • 文件操作:

    • 打开、读取、写入、关闭文件 (open() 函数, 文件模式)
    • with 语句 (上下文管理器)
  • 错误和异常处理:

    • 常见的异常类型
    • try...except...finally 语句
    • 自定义异常

二、实践项目:一个简单的命令行待办事项程序

让我们一起来构建一个简单的命令行待办事项程序。 这个程序将允许用户添加、查看、删除和标记待办事项。

  • 项目需求:

    • 用户可以添加新的待办事项。
    • 用户可以查看所有待办事项。
    • 用户可以删除待办事项。
    • 用户可以标记待办事项为已完成。
    • 待办事项数据应该能够保存到文件中,以便下次程序启动时读取。
  • 项目实现:

    # todo_app.py
    import os
    
    # 1. 定义待办事项数据结构
    class TodoItem:
        def __init__(self, task, completed=False):
            self.task = task  # 待办事项的内容
            self.completed = completed  # 是否已完成
    
        def __str__(self):
            status = "[x]" if self.completed else "[ ]"
            return f"{status} {self.task}"  # 待办事项的字符串表示形式
    
    # 2. 定义文件存储路径
    DATA_FILE = "todo_data.txt"
    
    # 3. 加载待办事项 (从文件读取)
    def load_todos():
        todos = []
        if os.path.exists(DATA_FILE):  # 检查文件是否存在
            try:
                with open(DATA_FILE, "r") as f:
                    for line in f:
                        parts = line.strip().split(",") # 以逗号分割
                        if len(parts) == 2:
                            task, completed_str = parts
                            completed = completed_str == "True"
                            todos.append(TodoItem(task, completed))
            except Exception as e:
                print(f"加载数据时发生错误:{e}")
        return todos
    
    # 4. 保存待办事项 (写入文件)
    def save_todos(todos):
        try:
            with open(DATA_FILE, "w") as f:
                for item in todos:
                    f.write(f"{item.task},{item.completed}\n") # 以逗号分割,保存为文本
        except Exception as e:
            print(f"保存数据时发生错误:{e}")
    
    # 5. 显示待办事项
    def display_todos(todos):
        if not todos:
            print("当前没有待办事项。")
        else:
            for i, item in enumerate(todos):
                print(f"{i+1}. {item}")
    
    # 6. 添加待办事项
    def add_todo(todos):
        task = input("请输入待办事项:")
        if task:
            todos.append(TodoItem(task))
            print("待办事项已添加。")
        else:
            print("输入不能为空。")
    
    # 7. 删除待办事项
    def delete_todo(todos):
        display_todos(todos)
        if not todos:
            return
        try:
            index = int(input("请输入要删除的待办事项的编号:")) - 1
            if 0 <= index < len(todos):
                del todos[index]
                print("待办事项已删除。")
            else:
                print("编号无效。")
        except ValueError:
            print("请输入有效的编号。")
    
    # 8. 标记待办事项为已完成
    def complete_todo(todos):
        display_todos(todos)
        if not todos:
            return
        try:
            index = int(input("请输入要标记为已完成的待办事项的编号:")) - 1
            if 0 <= index < len(todos):
                todos[index].completed = True
                print("待办事项已标记为已完成。")
            else:
                print("编号无效。")
        except ValueError:
            print("请输入有效的编号。")
    
    # 9. 主程序
    def main():
        todos = load_todos()  # 加载待办事项
    
        while True:
            print("\n待办事项程序")
            print("1. 查看待办事项")
            print("2. 添加待办事项")
            print("3. 删除待办事项")
            print("4. 标记为已完成")
            print("5. 退出")
    
            choice = input("请选择操作:")
    
            if choice == '1':
                display_todos(todos)
            elif choice == '2':
                add_todo(todos)
            elif choice == '3':
                delete_todo(todos)
            elif choice == '4':
                complete_todo(todos)
            elif choice == '5':
                save_todos(todos)  # 保存待办事项
                print("程序已退出。")
                break
            else:
                print("无效的选择。")
    
            save_todos(todos) # 每次操作都保存到文件
    
    if __name__ == "__main__":
        main()

    运行结果:

  • 项目说明:

    1. 数据结构: 使用 TodoItem 类来表示每个待办事项,包含 task (待办事项的内容) 和 completed (是否已完成) 两个属性。
    2. 文件存储: 使用 DATA_FILE 常量来指定数据存储的文件名 (默认是 todo_data.txt)。
    3. 加载和保存数据: 使用 load_todos() 函数从文件中读取待办事项,使用 save_todos() 函数将待办事项保存到文件中。
    4. 用户界面: 提供一个简单的命令行界面,允许用户选择不同的操作 (查看、添加、删除、标记为已完成、退出)。
    5. 主程序: 使用 main() 函数来组织程序的主体逻辑,包括加载数据、显示菜单、处理用户输入、保存数据等。
    6. 异常处理: 在文件操作中,使用了 try...except 语句来捕获可能发生的异常,例如文件不存在、读取错误等。
  • 运行程序:

    1. 将上面的代码保存为 todo_app.py 文件。
    2. 在命令行中运行 python todo_app.py
    3. 按照程序提示,进行操作 (添加、查看、删除、标记为已完成等)。
    4. 程序会把待办事项保存到 todo_data.txt 文件中,下次运行程序时,会自动加载这些数据。

三、总结与展望:开启你的编程之旅

        恭喜你完成了 Python 入门教程! 通过本系列博客的学习,你已经掌握了 Python 编程的基础知识,并能够编写一个简单的程序。 这仅仅是一个开始,编程的世界充满无限可能。 接下来,你可以:

  • 继续深入学习: 学习更高级的 Python 知识,例如面向对象编程、数据结构和算法、Web 开发、机器学习等。
  • 参与开源项目: 参与开源项目,与其他开发者合作,学习更实用的编程技能。
  • 阅读优秀代码: 阅读优秀的 Python 代码,学习别人的编程技巧和经验。
  • 不断实践: 通过编写各种各样的程序,巩固所学知识,提高编程能力。

        Python 是一门非常强大且易于学习的语言,拥有广泛的应用领域。 只要你持续学习、不断实践,你就能在编程的道路上越走越远,创造出更多精彩的程序!


http://www.kler.cn/a/571499.html

相关文章:

  • 深度集成DeepSeek,智问BI@GPT引领商业智能“深度思考“革命
  • 复试准备日常
  • tidb vs starrocks 资源估算pk
  • 【Redis】常用命令汇总
  • 拆一拆吉利普及高阶智驾的盲盒
  • Vue 3 新特性:对比 Vue 2 的重大升级
  • 坐标变换介绍与机器人九点标定的原理
  • 解交互题时如何规划交互流程
  • 源码编译安装httpd
  • DP——更小的数
  • 武汉前端面试(1)
  • 利用python开发自己的小工具
  • X Window---图形接口
  • MATLAB代码,计算包络线的高点数值
  • 从 JVM 源码(HotSpot)看 synchronized 原理
  • 智能对讲机:5G+AI赋能下的石油工业新“声”态
  • Windows Adobe Photoshop 2025-v26.4.1.194-x64-CN[解压即用]
  • 基于规则的分词
  • 【TCP/IP协议栈】1. TCP/IP协议栈概述(体系、四/五层模型、IP、MAC)
  • 基础篇12-图像分割(中)--区域的方法