首页小程序开发小程序设计python设计小程序教程

python设计小程序教程

2026-05-23

昆明

返回列表

为何选择Python开启编程之旅?

在数字时代的目前,学习一门编程语言已成为许多人的选择。在众多编程语言中,Python以其简洁明了的语法、雄厚的功能库和活跃的社区,成为初学者入门和快速实现想法的绝佳工具。你可能听过“人生苦短,我用Python”这句在开启者中广为流传的话,它恰恰道出了Python高效、直接的特点。本文的目的,就是为你拆解用Python设计一个小程序的完整过程。我们不会涉及深奥的理论,也不谈论遥远的未来,只是踏踏实实地,一步步从环境搭建,到写出第一个能解决实际问题的程序。无论你是想自动化处理重复工作,还是想为某个兴趣点制作一个小工具,相信这篇指南都能给你带来切实的帮助。

一、出发前的准备——搭建你的Python工作台

1.1 安装Python:迈出第一步

任何旅程都需要从准备行装开始,编程也不例外。我们需要在电脑上安装Python。访问Python官方网站,找到下载页面。建议选择蕞新的稳定版本(在撰写本文时是Python 3.11或3.12)。下载时请注意勾选“Add Python to PATH”这个选项,这能让你在系统的任何地方都能方便地运行Python。安装过程就像安装普通软件一样,点击“下一步”即可完成。安装成功后,你可以打开“命令提示符”(Windows)或“终端”(Mac/Linux),输入 `python --version` 并回车。如果屏幕上显示了类似“Python 3.x.x”的字样,那么恭喜你,第一步已经成功。

1.2 选择一款顺手的编辑器:你的代码笔记本

接下来,你需要一个地方来书写和保存代码。对于初学者,我不建议一开始就使用复杂笨重的集成开发环境(IDE)。一个轻量级、专注于代码编写的文本编辑器是更好的起点。这里我强烈推荐 Visual Studio Code(简称VS Code)。它免费、开源,对Python的支持非常好,界面清爽,还有丰富的插件扩展功能。去VS Code官网下载并安装它。安装完成后,打开VS Code,在扩展商店(侧边栏的方块图标)里搜索并安装“Python”这个扩展。这个扩展会为你提供代码高亮、智能提示、调试等核心功能,让编写过程顺畅许多。如果你习惯使用别的编辑器,如Sublime Text或PyCharm社区版,也完全可以。

1.3 认识你的新朋友:终端与交互模式

在开始写正式的程序文件之前,让我们先和Python打个招呼。打开终端或VS Code内置的终端,输入 `python` 并回车。你会看到提示符变成了 `>>>`,这表示你已经进入了Python的交互模式。这是一个即写即得的“草稿纸”,你可以在这里尝试简单的命令。例如,输入 `print("Hello, Python!")` 并回车,屏幕上会立刻显示出这行问候。输入 `3 + 5`,它会直接返回结果 `8`。多试试几个简单的计算和打印语句,感受一下这种即时反馈的乐趣。当你想要退出时,输入 `exit` 或按 `Ctrl+Z`(Windows) / `Ctrl+D`(Mac/Linux)即可。

二、核心构建——编写一个“待办事项”管理程序

理论知识固然重要,但编程很好的学习方式就是动手做一个东西。我们来设计一个简单的命令行版“待办事项清单”小程序。它应该能让我们添加新任务、查看所有任务、以及将已完成的任务标记为完成。这个项目虽小,但涵盖了变量、列表、循环、条件判断和函数等核心概念。

2.1 规划与设计:想清楚再动手

在写代码前,花几分钟想想程序应该怎么工作。我们大概需要这几个功能:

1. 添加任务:输入任务描述,程序把它记录下来。

2. 查看任务:以清晰的格式列出所有任务,并显示它们是否完成。

3. 标记完成:选择某个任务,将其状态改为“已完成”。

4. 退出程序:友好地结束运行。

我们可以用一个列表来存储所有任务,列表里的每个元素是一个字典。字典可以很好地保存一个任务的多个信息,比如“内容”和“是否完成”。

2.2 从零搭建:一步步实现功能

现在,打开VS Code,新建一个文件,保存为 `todo_app.py`。请注意,Python文件的后缀名是 `.py`。

第一步:初始化任务列表和主循环骨架

```python

todo_app.py

def main:

主函数,程序从这里开始执行

用一个列表来存放所有任务,每个任务是一个字典

tasks = []

程序主循环,除非用户选择退出,否则一直运行

while True:

print("

=== 我的待办事项清单 ===")

print("1. 查看所有任务")

print("2. 添加新任务")

print("3. 标记任务为已完成")

print("4. 退出程序")

choice = input("请选择操作 (1/2/3/4): ").strip

if choice == '1':

show_tasks(tasks)

elif choice == '2':

add_task(tasks)

elif choice == '3':

mark_task_done(tasks)

elif choice == '4':

print("感谢使用,再见!")

break

else:

print("输入有误,请重新输入1-4之间的数字。")

if __name__ == "__main__":

main

```

这段代码构建了程序的“骨架”。`tasks = []` 创建了一个空列表。`while True:` 开启了一个无限循环,直到用户输入 `4` 触发 `break` 语句才会跳出。`if...elif...else` 结构根据用户的选择,调用不同的函数(我们接下来就写这些函数)。

第二步:实现“查看任务”函数

在 `main` 函数的上方,添加以下函数:

```python

def show_tasks(task_list):

显示所有任务

if not task_list: 如果任务列表为空

print("当前没有待办任务。")

return

print("

  • 任务清单 ")
  • for index, task in enumerate(task_list, start=1):

    status = "✓" if task.get('done', False) else "□

    print(f"{index}. [{status}] {task['content']}")

    ```

    `enumerate` 函数非常有用,它能在循环中同时获取列表元素的索引(从1开始)和内容。我们用 `□` 表示未完成,`✓` 表示已完成,这样看起来更直观。

    第三步:实现“添加任务”函数

    ```python

    def add_task(task_list):

    添加一个新任务

    content = input("请输入新任务的内容: ").strip

    if content: 确保输入不是空字符串

    new_task = {'content': content, 'done': False}

    task_list.append(new_task)

    print(f"任务「{content}」已添加。")

    else:

    print("任务内容不能为空,添加失败。")

    ```

    这里我们创建了一个字典 `new_task`,包含任务内容和完成状态两个键值对,然后把它添加到任务列表的末尾。

    第四步:实现“标记完成”函数

    ```python

    def mark_task_done(task_list):

    将指定任务标记为已完成

    show_tasks(task_list) 先显示任务,让用户知道有哪些可以选

    if not task_list:

    return 如果没有任务,直接返回

    try:

    task_num = int(input("请输入要标记为已完成的任务编号: ").strip)

    if 1 <= task_num <= len(task_list):

    task_list[task_num

  • 1]['done'] = True 列表索引从0开始
  • print(f"任务「{task_list[task_num

  • 1]['content']}」已标记为完成!")
  • else:

    print("编号超出范围。")

    except ValueError: 如果用户输入的不是数字

    print("请输入有效的数字编号。")

    ```

    这里用 `try...except` 来捕获可能的错误。用户可能输入“abc”而不是数字,`int` 转换会失败并引发 `ValueError`,我们用 `except` 来优雅地处理这种情况,提示用户输入数字,而不是让程序崩溃。

    2.3 运行与测试:看看成果如何

    代码写完了,是时候看看它的效果了。在VS Code中,右键点击代码编辑区,选择“在终端中运行Python文件”。或者,直接打开终端,切换到文件所在目录,输入 `python todo_app.py`。

    你会看到文本菜单出现。尝试添加几个任务(比如“买牛奶”、“写报告”),然后查看它们。再试着将第一个任务标记为完成,再次查看时,你应该能看到 `✓` 的符号。输入4退出程序。整个过程,就是你与这个亲手创造的小程序的一次完整对话。

    三、让程序更健壮——基础错误处理与代码优化

    我们的程序已经能工作了,但它还有些脆弱。比如,如果用户在没有任务时尝试标记完成,或者输入一个不存在的任务编号,程序虽然不会崩溃,但提示可以更友好。代码也可以组织得更清晰。

    3.1 增强输入验证

    在 `mark_task_done` 函数中,我们已经做了一些验证。我们可以为 `add_task` 函数也增加一个防止重复添加完全相同任务的小功能(可选):

    ```python

    def add_task(task_list):

    content = input("请输入新任务的内容: ").strip

    if not content:

    print("任务内容不能为空。")

    return

    检查是否已存在完全相同的未完成任务

    for task in task_list:

    if task['content'] == content and not task['done']:

    print("该未完成任务已存在,无需重复添加。")

    return

    new_task = {'content': content, 'done': False}

    task_list.append(new_task)

    print(f"任务「{content}」已添加。")

    ```

    3.2 将数据保存到文件:跨越运行次数的记忆

    目前,所有任务都只存在于程序运行时的内存中,一旦关闭程序,任务清单就消失了。这显然不够实用。让我们学习如何将任务列表保存到本地的文本文件中,并在下次启动时自动加载。

    我们需要两个新函数:`save_tasks_to_file` 和 `load_tasks_from_file`。Python的 `json` 模块非常适合处理这种列表、字典到文件的转换。

    在文件开头导入json模块:`import json`。

    然后,在函数定义区域添加:

    ```python

    import json

    import os

    FILE_NAME = "tasks.json

    def load_tasks_from_file:

    从文件加载任务列表

    if os.path.exists(FILE_NAME):

    try:

    with open(FILE_NAME, 'r', encoding='utf-8') as f:

    return json.load(f)

    except (json.JSONDecodeError, IOError):

    print("警告:任务文件已损坏,将创建新的清单。")

    return [] 如果文件不存在或读取失败,返回空列表

    def save_tasks_to_file(task_list):

    将任务列表保存到文件

    try:

    with open(FILE_NAME, 'w', encoding='utf-8') as f:

    json.dump(task_list, f, ensure_ascii=False, indent=2) indent让文件格式更美观

    except IOError:

    print("错误:无法保存任务到文件。")

    ```

    接着,修改 `main` 函数开头:

    ```python

    def main:

    tasks = load_tasks_from_file 启动时加载

    while True:

    ... (菜单循环保持不变) ...

    在每次可能改变任务列表的操作后(如add, mark_done),可以考虑自动保存

    或者简单点,在退出前统一保存

    if choice == '4':

    save_tasks_to_file(tasks) 退出前保存

    print("数据已保存。感谢使用,再见!")

    break

    ```

    现在,你的小程序就有了“记忆”功能。关闭后再打开,之前的任务依然存在。

    四、总结与延伸思考

    至此,我们已经完成了一个功能完整、具备数据持久化能力的命令行待办事项小程序。回顾这个过程,我们经历了:环境搭建 -> 项目规划 -> 功能分步实现(CRUD:创建、读取、更新)-> 错误处理增强 -> 数据持久化。这是一个非常经典的微型软件开发流程。

    通过这个小小的项目,你实践了Python的以下几个核心概念:

  • 基础语法:变量、数据类型(列表、字典、布尔值)、输入输出。
  • 流程控制:`if-elif-else` 条件判断,`while` 循环。
  • 函数:将特定功能的代码块封装起来,使主逻辑清晰。
  • 文件操作:使用 `with open` 安全地读写文件。
  • 异常处理:使用 `try-except` 让程序更稳健。
  • 模块使用:导入标准库 `json` 来处理结构化数据。
  • 这个程序还有很多可以自己动手扩展的方向,例如:为任务添加优先级、设置提醒时间、按完成状态或内容搜索任务,甚至做一个带有图形界面(GUI)的版本(可以用Tkinter或PyQt库)。每一个扩展点,都是对已学知识的巩固和对新知识的探索。

    编程的本质是解决问题和创造。这个不到两百行代码的小程序,就是你创造力的第一个切实证明。它可能简陋,但完全属于你,并且真的有用。希望这次实践能给你带来信心和乐趣。不要停下,用Python去尝试解决你生活中下一个小小的不便吧,那将是更精彩的开始。