推荐 13 个 Python 新手练级项目

 

推荐 13 个 Python 新手练级项目

文章插图
 
Web 项目设计
内容聚合器(Content Aggregator)
1. 技术细节
该项目设计的主要目标是聚合内容 。首先,我们需要知道内容聚合器从哪些站点获取内容 。然后,使用请求库来发送 HTTP 请求,并使用 BeautifulSoup 解析和抓取站点的必要内容 。
该应用程序可以将其内容聚合作为后台进程进行实现 。celery 或 apscheduler 等库可以提供帮助 。建议尝试 apscheduler 。它非常适用于小型后台进程 。
从各个站点抓取的内容需要进行保存 。因此,需要使用数据库 。
2. 额外挑战
对于更严峻的挑战,可以通过以下网站进行学习并获得更多信息:https://realPython.com/python-web-scraping-practical-introduction/
还可以在网站上订阅内容聚合文章 。每天结束时,内容聚合器会将当天的文章发送到用户的电子邮箱 。
正则表达式查询工具
1. 技术细节
这类项目的主要目的是判别用户输入的查询字符串的有效性 。可以让它给出有效和无效的判别,例如「查询字符串有效」和「查询字符串无效」,以绿色显示有效,以红色显示无效 。
不必从头开始构造查询工具 。使用 Python 的标准 relibrary,就可以对输入的文本运行查询字符串 。当查询字符串不匹配时,re 库将返回 None,当匹配时,将返回匹配的字符串 。
有些用户可能无法完全理解正则表达式,因此读者可以自己创建一个页面来解释正则表达式的工作原理 。写一个足够有趣的文档,让用户对学习和理解正则表达式产生兴趣 。
2. 额外挑战
制作一个只返回正则表达式有效性的项目很好 。但也可以添加替换功能 。这意味着应用程序将检查正则表达式的有效性,并允许用户用其他内容替换匹配的字符串 。因此,该工具不再只是查询工具,也成为了替换工具 。
网址缩短(URL Shortener)
1. 技术细节
该项目设计的主要目标是缩短 URL 。应用程序在缩短 URL 后,再访问缩短的 URL 时将用户重定向到原始 URL 。
在应用程序中,用户将输入原始 URL,最后获得新的缩短 URL 。为此,可以使用 random 和 string 模块的组合来生成缩短版 URL 的字符 。
由于用户将在几天、几个月甚至几年后访问缩短的 URL,因此需要将原始 URL 和缩短的 URL 保存在数据库中 。当出现请求时,应用程序会检查 URL 是否存在并重定向到原始 URL,否则会重定向到 404 页面 。
2. 额外挑战
使用随机字符生成缩短 URL 比长且随机字符的 URL 更好 。通过添加功能来自定义 URL,用户就可以自定义生成的 URL 。
毫无疑问,自定义 xyz.com/mysite URL 比随机生成的 xyz.com/piojwr URL 更好 。
便利贴功能
1. 技术细节
该项目的主要目的是让用户记下自己的想法 。即每个用户都有自己的笔记,因此应用程序需要具有帐户创建功能 。这确保了每个用户的笔记都是私人的 。
django 带有用户身份验证系统,因此它可能是一个不错的选择 。你可以使用其他框架,如 bottle 和 flask,但你必须自己实现用户身份验证系统 。
由于用户可能需要在不同情境下记录不同的笔记,因此实现用户的笔记分类功能将使应用程序更实用 。
例如,你可能需要记录一些算法和数据结构,因此需要将不同的笔记划分到各自类别中 。
你需要存储每个用户的信息和笔记,因此数据库成为该项目的重要组成部分 。如果想使用 MySQL 数据库或用于 PostgreSQL 数据库的 psycopg2 模块,可以使用 MySQLdb 模块 。还可以使用其他模块,但这完全取决于你选择使用的数据库 。
2. 额外挑战
用户忘记自己的想法是人之常情,甚至有时会忘记自己记了笔记 。你可以添加一个功能,提醒用户他们记了笔记 。此功能允许用户设置提醒时间,应用程序将通过电子邮件提醒用户 。
测验
1. 技术细节
这个项目的主要目标是设置测验并让人们作答 。因此,用户应该能够设置问题,其他用户应该能够回答这些问题 。然后,应用程序将显示最终得分和正确答案 。
如果希望用户能够记录他们的分数,则需要实现帐户创建功能 。
创建测试的用户应该能够通过上传文本文件来创建带有问题和答案的测试 。文本文件应该能够转换成用户需要的格式,因此应用程序可以将文件转换为测验格式 。
你还需要为此项目创建数据库 。数据库将存储每个用户的问题、可能的答案、正确的答案和分数 。


推荐阅读