对于中级程序员来说,有哪些好的 Python 项目?


在本文中,我们将学习一些适合中级程序员的 Python 项目。

这些项目既不太难也不太简单。在开发这些项目时会遇到一些挑战,并且您将乐在其中地解决它们。我们将这些项目分为三类:

  • Web 应用 - 通常,开发人员负责应用程序的前端和后端组件。作为 Python 开发人员,您的主要关注点将放在后端,所有业务逻辑都在这里实现。可以使用一些 Python Web 框架,例如 Django 和 Flask。

  • 桌面 GUI - Python 可用于创建您自己的桌面图形用户界面应用程序。PySimpleGUI 是一个用户友好的桌面应用程序框架。PyQt5 是另一个复杂且高级的 GUI 框架,尽管它具有陡峭的学习曲线。

  • 命令行 - 这些应用程序在控制台窗口中运行。您可以使用 docopt、argparse 和 click 框架创建应用程序。

Web 项目创意

您将在此主题上找到 Web 项目创意。这些项目创意分为两类:实用工具和教育工具。

以下是一些项目创意:

  • URL 缩短工具
  • 测验应用程序
  • Pin Your Note(固定笔记)

URL 缩短工具

您是否熟悉 bit.ly 和 TinyURL 等工具?这些服务缩短 URL 并使其更容易记忆。长 URL 包含难以记忆的复杂字符。这些服务通过删除字符或字母来缩短 URL,并向用户返回一个新的较短的 URL。

技术细节

此程序的主要目的是缩短 URL,当用户点击缩短后的 URL 时,应将其发送到原始 URL。您可以混合使用随机数和字符串模块来生成缩短 URL 的字符。

您必须将原始 URL 和缩短后的 URL 存储在数据库中,以便当用户访问缩短后的 URL(几天、几个月甚至几年后)时,程序检查数据库,如果 URL 存在则重定向到原始 URL,否则重定向到 404 页面。

额外挑战

您可以通过为用户提供自定义 URL 选项来提高此应用程序的可用性。用户更容易记住他们创建的自定义 URL。

现实生活中的例子

测验应用程序

测验应用程序将向用户提问并期望他们提供正确答案。可以将测验应用程序视为一种问卷调查。特殊的用户(称为管理员)将能够使用测验应用程序创建测验,允许普通用户回答问题并评估他们对测验中概念的理解。

技术细节

此项目的首要目标是创建测验并让人们回答它们。因此,用户应该能够提出问题,其他用户应该能够回答这些问题。然后,应用程序将提供总分以及正确答案。如果您希望用户能够跟踪他们的分数,则可能需要构建一个帐户创建功能。用户应该能够简单地通过上传文本文件来构建包含问题和答案的测验。文本文件将采用您指定的格式,允许应用程序将其从文件转换为测验。

额外挑战

允许用户为测验设置计时器以增加难度。这允许测验开发者决定用户在测验中的每个问题上应该花费多少秒或分钟。

最好也提供一个测验分享工具,以便用户可以在其他平台上与朋友分享有趣的测验。

现实生活中的例子

Pin Your Note(固定笔记)

我们每天都有很多想法,而且由于繁忙的日程安排或其他原因,人们很容易忘记事情(甚至重要的想法或想法)。设计一个应用程序,在线记录我们的想法以便轻松记住它们,这不是一个好主意吗?您可以使用 Python 创建一个 Pin Your Note 应用程序,用户可以在其中列出他们想要记住的任何内容,并且可以从任何地方访问该列表(因为它位于数字平台上)。

技术细节

此项目的主要目标是允许用户保存他们的想法。每个用户都将拥有自己的私人笔记,并且为了创建私人笔记,必须创建具有身份验证功能的帐户创建功能。您可以使用 Django 框架,其中包含身份验证系统,但如果您使用 bottle 或 flask,则必须自己实现用户身份验证。

您还可以包含一个允许用户对笔记进行分类的功能。用户可以通过这种方式将笔记分成多个类别。例如,用户可以选择一个部分用于编程语言,另一个用于数据结构和算法,另一个用于数据库。

如果您想使用数据库来存储此应用程序的信息,则如果使用 MySQL 数据库,可以使用 MySQLdb 模块;如果选择 PostgreSQL 数据库,则可以使用 psycopg2 模块。还可以使用其他模块,但这取决于您为应用程序选择的数据库。

额外挑战

我们经常忘记我们在某个地方创建了关键笔记,然后期望有人提醒我们这些笔记。因此,您可以在此应用程序中包含一个提醒功能。此功能允许用户选择提醒时间并接收有关笔记的电子邮件通知。

现实生活中的例子

GUI 项目

以下是项目创意:

  • MP3 播放器
  • 闹钟工具
  • 文件管理器
  • 支出跟踪器

MP3 播放器

如果没有播放器,则无法播放音频文件的内容。音频文件是数字数据,您可以通过在 Python 中创建 MP3 播放器工具来展示您的能力。您必须创建模拟物理 MP3 播放器的 MP3 播放器软件。用户可以使用此软件在他们的桌面、笔记本电脑或计算机上播放 MP3 文件。

技术细节

目标是提供允许用户收听 MP3 和其他数字音频文件的 MP3 软件。您必须专注于创建视觉上吸引人的用户界面以提高用户参与度。界面将显示可访问的 MP3 文件列表。用户还可以选择不是 MP3 的其他数字音频文件。用户还应该能够查看正在播放的文件的信息。您可以包含以下信息:

  • 文件名
  • 长度
  • 已播放时间(分钟和秒)
  • 未播放时间(分钟和秒)

Python 的 pygame、pymedia 和 simpleaudio 库可用于处理 MP3 文件和其他数字音频文件。您只需几行代码即可操作多媒体文件。您还可以包含一个允许用户创建播放列表的功能。SQLite 数据库的 sqlite3 模块可用于保存创建的播放列表的信息。

额外挑战

包含一个允许用户重复当前正在播放的文件或随机播放文件列表的功能。您还可以添加一个允许用户选择音频文件播放速度(增加/减少)的功能。

现实生活中的例子

闹钟工具

俗话说,“岁月不饶人”。但是,随着生活中发生的事情越来越多,很难跟踪时间。需要一个提醒来跟踪时间。

这就是闹钟工具发挥作用的地方。闹钟是一种在响应特定情况时发出声音或视觉信号的装置。此闹钟工具项目概念旨在将闹钟作为软件创建。闹钟工具在满足给定条件时发出声音信号。在这种情况下,固定时间是一个特定条件。

用户可以使用闹钟工具设置闹钟,以提醒他们在一天中的特定时间做某事。

闹钟工具项目将在用户的笔记本电脑或台式机设备上运行,无需购买物理计时器。

技术细节

此项目的主要目标是在一天中的特定时间激活音频信号。因此,闹钟工具最重要的方面是计时和要播放的音频信号。

用户应该能够使用闹钟工具添加、编辑和删除闹钟。它还应该包含一个用户界面,其中列出所有尚未被用户删除的闹钟。因此,它应该显示活动和非活动闹钟。

因为它是闹钟,所以程序必须在指定时间播放音调。有一些可用的音频库,例如 **pygame** 库。

在您的代码逻辑中,程序必须继续检查设置的闹钟时间。当时间到达时,会触发一个函数来播放闹钟音调。

由于应用程序将检查设置的闹钟时间,因此它必须将闹钟保存到数据库中。所有闹钟日期、时间和音调位置都应保存在数据库中。

额外挑战

您还可以允许用户设置重复闹钟作为额外功能。他们将能够在每周的特定日期的特定时间安排闹钟。例如,每周一下午 2:00 设置闹钟。

您还可以包含一个贪睡选项,以便您的用户可以贪睡闹钟,而不仅仅是将其关闭。

现实生活中的例子

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

命令行项目

本节包含命令行项目的创意。提到的项目创意可以归类为实用工具。

以下是一些项目创意:

  • 网站连接检查器
  • 文件重命名工具
  • 通讯录
  • 目录树生成器

网站连接检查器

当您访问某个 URL 时,您希望浏览器显示请求的页面。但是,情况并非总是如此。网站随时可能宕机,因此您可能无法获得预期结果。相反,您会看到错误消息。您可以不断尝试访问已宕机的网站,直到它恢复正常并获得您需要的信息。

这就是“项目网站连接检查器”发挥作用的地方。网站连接检查器访问某个 URL 并提供该 URL 的状态:在线或离线。网站连接检查器将定期返回每次访问 URL 的结果。

与其手动访问 URL,网站连接检查器可以为您处理所有操作。您只需获得检查结果,而无需在浏览器中花费时间等待网站加载。

技术细节

该项目的首要目标是检查网站的状态。因此,您必须创建代码来检查网站的状态。

您可以选择使用 TCP 或 ICMP 进行连接。socket 模块是其中一个可以检查的模块。或者,您可以阅读 Python 中的套接字编程(指南)。

您可以添加命令,允许用户使用您喜欢的框架(无论是 docopt、click 还是 argparse 框架)添加和删除要检查的网站列表中的网站。

用户还应该能够启动和停止工具并设置间隔时间。

由于您需要记录要检查的文件列表,您可以将其保存在文件中(只是一个网站列表)或使用 sqlite3 模块使用 SQLite 数据库。

现实生活中的例子

文件重命名工具

我们必须根据特定约定频繁重命名目录中的文件。例如,File001.jpg、File002.jpg、File003.jpg 等。手动执行此操作可能很繁琐且耗时。为了避免手动执行此操作,您可以编写一个工具来重命名大量文件。

技术细节

主要目标是设计一个工具,可以在几秒钟内无错误地重命名文件。您可以使用 Python 的 os、sys 和 shutil 模块来重命名目标文件。用户应该能够使用他们喜欢的命名约定来重命名目录中的所有文件。如果您了解正则表达式的使用方法,则可以使用它来帮助匹配所需的名称模式。如果用户在命令中指定了一个命名约定(例如 **demofiles**),则该工具应将文件重命名为 **demofiles345**,其中 345 是一个数字。

额外挑战

实现一个功能,允许用户仅选择一组文件进行重命名,而不是所有文件。根据用户的偏好,该实用程序将按字母顺序、文件创建时间或文件大小对文件进行排序。

现实生活中的例子

结论

在本文中,我们学习了各种类型的中级项目,包括详细信息和示例。这些项目将帮助您实时了解不同的 Python 中级概念。

更新于: 2022年12月15日

305 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始
广告