作者 | Claire D. Costa
编译 | Wendy
有很多 Python 新手留言问:“Python 入门很久了,但项目经验很少,有没有什么项目,可以让自己实践一下呢?”
这是个很普遍的问题,首先你要想好做什么类别的项目,总体来说,项目分为三类:
Web
构建一个 Web 应用发布在网络上让用户访问使用。需要实现 Web 应用的前端、后端、可视化部分的业务逻辑。可以使用 Django,Flask 和 Web2Py 等工具和框架来完成。
桌面 GUI
桌面应用也很常见,好的应用可以满足相当大的用户群体。在构建桌面应用时,可以使用 PySimpleGUI 包轻松开发,该包允许你使用 Python 来构建所有必要的元素;PyQt5 框架还提供了高级 GUI 构建元素,但学习难度会更高一点。
命令行程序
命令行程序仅在控制台窗口中工作,根本没有 GUI。用户交互是通过命令进行的,它是与程序进行交互的最老的方法,但不要因为缺乏实用性而将缺少 GUI 视为错误。
数以百计的顶级企业依靠命令行程序执行日常业务活动。要构建命令行程序,可以使用 docopt,Python Fire,plac 和 cliff 等工具。
Python 对不同水平的开发者都很友好,从学生到普通开发人员,甚至是专家和专业人士都适用。但每一门编程语言都需要不断的学习,Python 也是如此。
如果你想要更深入的学习一些实用技能,最好的方法就是用 Python 上手实践一些有趣的项目。下面提到的这些项目面向所有技能水平的开发者,它们可以提高你对 Python 的技能掌握和兴趣程度。
互联网是数百万人的主要信息来源,人们总会需要通过网络搜索些什么。如果需要搜索大量关于特定主题的信息,可以利用内容聚合器来节省搜索时间。
内容聚合器是一种从大量网站抓取特定主题的信息并加以整合的工具。要制作一个内容聚合器,你可以用 requests 库处理 HTTP 请求,利用 BeautifulSoup 解析和爬取所需信息,同时借助数据库来保存收集到的信息。
案例:http://www.hvper.com/
URL 是一切互联网资源的主要导航来源,有时候这些 URL 会包含大量的乱码,短网址生成器能够减少这些 URL 中的字符数,更易于记忆和使用。
开发短网址生成器实际上就是利用随机和字符串模块,从输入的长URL中生成一个新的短 URL。完成这一步之后,你需要将长 URL 和短 URL 进行映射,然后存储在数据库中,以便用户未来使用。
案例:https://bitly.com/
如果你的工作需要经常管理大量文件,那么文件重命名工具能为你节省大量时间。从本质上来说,文件重命名工具就是利用预定义的初始标识符重命名数百个文件,其中的初始标识符可以通过代码定义,也可以让客户自定义。
你可以使用 Python 中的 sys、shutil 和 os 等库来实现即时重命名文件。如果需要为文件添加自定义初始标识符的选项,你可以利用 regex 库匹配文件的命名模式。
案例:https://en.wikipedia.org/wiki/Ren_(command)
如果你需要对系统中的所有目录进行可视化处理,并确定它们之间的关系,那么就需要用到目录树生成器这种工具。
目录树的本质作用是表明哪些目录是始目录,而哪些又是它的子目录。如果你的工作涉及很多目录,而你又想要分析它们的位置,这样的工具就能帮到你。
要构建目录树生成器,你可以使用 os 库列出文件和目录,以及 docopt 框架。
案例:https://en.wikipedia.org/wiki/Tree_(command)
如果你喜欢听音乐,你可能想不到用 Python 就能构建一个音乐播放器。利用图形界面构建一个 MP3 播放器,配有基本的重放控件,甚至可以显示综合媒体信息,比如艺术家、媒体长度、专辑名称等等。
你也可以选择用音乐播放器导航到文件夹和搜索 MP3 文件。为了能更方便地利用 Python 处理媒体文件,你可以使用 simpleaudio、pymedia 和 pygame 库。
案例:https://getmusicbee.com/
井字游戏是一款非常经典的游戏,相信大家都很熟悉。这个游戏简单有趣,而且只需要两名玩家参与。
游戏目标是在一个 3x3 的网格上画X或O,最先以横、直、对角斜连成一线的玩家为胜。类似这种项目可以使用 Python 的 pygame 库,它自带构建这种项目所需的所有图形和音频素材。
案例:https://www.edureka.co/blog/snake-game-with-pygame/
另外还有一种既流行又有趣,用 Python 就可以构建的项目就是测验应用程序,其中一个很受欢迎的产品就是 Kahoot。
这是一款可以在课堂上进行答题互动的产品,它把学习变成一种有趣的现场/课堂答题活动,很受学生欢迎。这种应用程序是给出一系列选择题,要求用户选择其中一个选项,并在设置时间结束后揭示正确的选项。
作为开发者,你也可以创建可供用户随意添加想要纳入测验的问题和答案的功能。要制作一个测验应用程序,你需要利用数据库来存储所有的问题、选项、正确答案和用户得分。
案例:https://kahoot.com/
当然,在学习一门新的编程语言时,大家可以试试开发一个计算器(这种传统项目,仅仅为了好玩儿也不该错过)。相信大家都知道什么是计算器,如果你已经试过了,还可以尝试利用更高级的 GUI 对它进行改进,让它更接近于当前操作系统中采用的新型计算器。想要实现这个目标,你可以使用 tkinter 包为项目添加 GUI 元素。
现在几乎每部智能手机都自带一个不同类型的智能助手,它能接收你的语音或文字命令,帮你管理电话、笔记、预约出租车等等,比如谷歌助理、Alexa、Cortana 和 Siri 等。
如果你想试试如何制作这类东西,可以使用 pyaudio、SpeechRecognition、gTTS 等工具包。这个项目的目标是记录音频,将音频转换为文本、处理命令,让程序根据命令做出对应响应。
顾名思义,这个项目是要构建一个货币换算器,你只要输入所需的基准货币值,转换器就能向你反馈换算后的目标货币值。
最好是通过代码实现从互联网获取最新兑换利率的功能,来提高换算的准确性。想要实现这个目标,你可以利用 tkinter 包来构建图形用户界面。
我们可以发现 Python 是一种非常实用的编程语言,适用于开发各种类型和规模的应用程序。此外,Python 配置的程序包对于开发者来说价值巨大,能够极大地简化开发过程。
最后,我想说的是,Python 的应用潜力无限,你唯一缺少的就是找准适当的创意。
原文:
https://towardsdatascience.com/10-cool-python-project-ideas-for-python-developers-7953047e203
#欢迎来留言#
留言点赞数量最多的前三名
CSDN携手【人民邮电出版社-图灵社区】送出
《Python编程:从入门到实践(第2版)》三本抢读名额(含纸书+电子书)
截至9月24日14:00时
内容简介:
中文版重印30余次,销量近750 000册,针对Python 3新特性升级,重写项目代码;真正零基础,自学也轻松!读完本书,读者不仅能快速掌握编程基础知识,还能编写出解决实际问题的代码并开发复杂的项目。
第2版沿袭第1版讲解清晰透彻、循序渐进的特点,并全面升级,简化了Python安装流程,新增了f字符串、get()方法等内容,并且在项目中使用了Plotly库以及新版本的Django和Bootstrap,等等。
另外,在图灵社区参加抢读活动可以提前一个月先睹为快书中的最新内容,并在纸质书上市后,第一时间获得纸质版图书一本。原价 130元的纸质书+电子书,10月11日前,购买抢读版仅需78元。附赠随书教程、Python速查地图,并首次上线在线编程练习。你可以在线云编程,无需配置语言环境,可在线加载随书代码,边读边实践,让你更好地学习编程语言。
更多精彩推荐
☞曾是谷歌程序员,抛下百万年薪创业,4 年成就 7 亿用户,今身价百亿!
☞贝叶斯定理:AI 不只是个理科生 | 赠书
☞腾讯回应 Wecom 是企业微信海外版;美国地方法院紧急叫停微信禁令;Vue 3 发布 | 极客头条
☞首次在手机端不牺牲准确率实现BERT实时推理,比TensorFlow-Lite快近8倍,每帧只需45ms
☞Service Mesh 在超大规模场景下的落地挑战
☞比特币背后的技术,是否已成为科技领军代表?
点分享点点赞点在看