这些我的项目构想很有可能会让你对这门神奇的语言产生趣味。最棒的是,你能够通过这些乏味但也具备挑战性的我的项目来加强 Python 编程技能。
你晓得 Python 是被称为 全能编程语言 的吗?是的,它的确是,尽管不应该在每个我的项目中都应用它。你能够应用它来创立桌面应用程序、游戏、挪动应用程序、网站和系统软件。它甚至是最适宜用于实现 人工智能 和 机器学习 算法的语言。
因而,在过来的几周里,我为 Python 开发人员收集了一些独特的我的项目构想。这些我的项目构想很有可能会让你对这门神奇的语言产生趣味。最棒的是,你能够通过这些乏味但也具备挑战性的我的项目来加强你的 Python 编程技能。让咱们来一一看下。
1. 应用语音命令创立软件 GUI
交互示例——原图来自 Unsplash
现在,桌面利用程序开发畛域曾经获得了巨大进步。你能看到许多拖拽式 GUI 构建器和语音辨认库。那么,为什么不能将它们联合在一起,通过与计算机对话来创立一个用户界面呢?
这是一个全新的概念,通过一番钻研,我发现还没有人尝试这样做。因而,它可能比上面提到的那些更具挑战性。上面是应用 Python 开始这个我的项目的一些阐明。首先,你须要用到如下的包:
- 语音辨认库
- PAGE ——拖拽式 GUI 构建器
- PAGE 的文档
- PAGE 是如何工作的视频
- 应用 PAGE 创立登录窗口
当初,咱们的想法是对一些语音命令进行硬编码,例如:
你明确我的意思了吧?能够十分简单明了地增加更多这样的命令。因为这将是一个 最小可行性产品 (Minimum Viable Product,MVP)。所以,如果你必须硬编码许多条件语句(例如,if…else),这是齐全能够的。
设置完这些根本命令后,就能够测试代码了。当初,你能够尝试在窗口中构建一个十分根本的登录表单。这一想法的次要灵活性在于它能够用于游戏开发、网站和挪动应用程序。即便是应用不同的编程语言也能够。
2. AI 博彩机器人
网球较量——图片来自 Unsplash
博彩是一种人们预测后果的流动,如果他们猜对了,就会失去回报。在过来几年中,人工智能或机器学习畛域呈现了许多技术提高。
例如,你可能据说过像 AlphaGo Master、AlphaGo Zero 和 AlphaZero 这样的程序,它们能够比任何业余的人类玩家都能更好地玩 Go(游戏)。你甚至能够取得相似 Leela Zero 这样程序的 源码。
我想表白的一点是,人工智能正在变得比咱们更聪慧。这意味着它能够通过思考所有的可能性并从过来的教训中学习来更好地预测一些事件。让咱们在 Python 中利用一些有监督学习的概念创立一个 AI 博彩机器人吧。要开始本我的项目,这里有一些你须要应用到的库。
- pandas——数据分析
- NumPy——多维数组、矩阵和数学函数
- scikit-learn ——机器学习
- XGBoost —— 梯度晋升(Gradient Boosting)
- Matplotlib ——绘图
- seaborn ——统计数据可视化
- pickle ——Python 对象序列化
首先,你须要抉择一种较量(例如网球、足球等)来预测后果。当初搜寻可用于训练模型的历史匹配后果数据。例如,.csv 格局的网球较量数据能够从 tennis-data.co.uk 网站上下载。如果你对博彩不理解,上面是它的工作原理。
- 你能够在 Roger Federer 身上以 1.3 的赔率押 10 美元。
- 如果他获胜,你将取得 10 美元(理论金额),外加 3 美元(利润)。
- 如果他输了,你也会输掉你的钱(例如,10 美元)。
训练完模型后,咱们必须计算每个预测的置信水平(Confidence Level),通过查看预测正确的次数来理解机器人的体现,最初还要关注投资回报率(ROI)。能够下载由 Edouard Thomas 开发的一个相似的 开源 AI 博彩机器人我的项目
3. 交易机器人
交易——图片来自 Unsplash
交易机器人与上一个我的项目十分类似,因为它也须要 AI 来进行预测。当初的问题是,AI 是否能够正确地预测股价的稳定?当然,答案是必定的。在开始之前,咱们须要一些数据来开发一个交易机器人。
- Yahoo Finance —— 获取股票数据
- Alpha Vantage —— 用于金融数据的实时 API
这些来自投资百科(Investopedia)的资源可能有助于训练机器人。
- 初学者的交易策略
- 只有通过了这五步测试能力进行交易
读完这两篇文章后,你会对什么时候买股票,什么时候卖股票有一个更好的了解。这些常识能够很容易地转换为 Python 程序,从而主动地为咱们做出决策。你也能够参考这个名为 freqtrade 的开源交易机器人。它应用 Python 构建,并实现了多种机器学习算法。
4. 钢铁侠 Jarvis(基于 AI 的虚构助手)
AI 助手界面——图片来自 Unsplash
这个想法取材于好莱坞电影《钢铁侠》系列。这部电影围绕着科技、机器人和 AI 开展。在这里,钢铁侠用人工智能为本人打造了一个虚构助手。该程序被称为 Jarvis,能够帮忙钢铁侠实现日常工作。钢铁侠应用简略的英语向 Jarvis 收回指令,Jarvis 也用英语回应。这意味着咱们的程序须要语音辨认以及文本转语音的性能。倡议应用这些库:
- 语音辨认
- 文字转语音 (TTS)
当初,你能够对语音命令进行硬编码,例如:
你还能够应用 Jarvis 执行其余很多工作,例如:
- 设置手机闹钟。
- 不停地查看家里的监控摄像头,并告知是否有人在里面等着。你能够增加更多的性能,如人脸检测和辨认。它能够帮忙你理解里面有哪些人或者有多少人。
- 关上 / 敞开房间的窗户。
- 关上 / 敞开灯。
- 主动回复电子邮件。
- 安顿工作。
甚至连 Facebook 的创始人“马克·扎克伯格”(Mark Zuckerberg)都将 Jarvis 作为一个辅助我的项目。
5. 监控某个网站以理解行将举办的艺术家演唱会
门票——图片来自 Unsplash
Songkick 是一项十分受欢迎的服务,它能够提供无关行将举办的音乐会的信息。其 API 可用于通过以下形式搜寻行将举办的音乐会:
- 艺术家
- 地位
- 会场
- 日期和工夫
你能够创立一个 Python 脚本,应用 Songkick 的 API 每天查看某个特定的音乐会。
最初,只有有音乐会,就给本人发一封电子邮件。有时 Songkick 甚至会在其网站上显示“购票”链接。
然而,这个链接能够针对不同的音乐会转到不同的网站上。这意味着即便咱们利用网络抓取,也很难主动购票。相同,咱们能够简略地显示“购票”链接,就像它在咱们的应用程序中一样,以便进行手动操作。
6. 主动续订 Let’s Encrypt 的收费 SSL 证书
Let’s Encrypt 是一个提供收费 SSL 证书的证书颁发机构。然而,问题在于该证书的有效期只有 90 天。90 天后,你必须续订。我认为,这是应用 Python 实现自动化的一个绝佳场景。咱们能够编写一些代码,在网站 SSL 证书到期之前主动续订。能够在 GitHub(https://github.com/jaygreco/P…)上查看这段代码 以寻找灵感。
7. 辨认人群中的集体
人脸识别——作者的照片
现在,政府已在公共场所装置了监控摄像头,以进步公民的安全性。这些摄像头大多只是用于录制视频,法医专家必须手动辨认或跟踪集体。如果咱们创立一个 Python 程序来实时辨认摄像头中的每个人会怎么样呢?
首先,咱们须要拜访国家身份证数据库,但咱们可能没有权限拜访。所以,一个简略的抉择是创立一个蕴含家庭成员记录的数据库。而后,能够应用一个 人脸识别库(https://pypi.org/project/face…),并将其与摄像头的输入连接起来。
8. 接触者追踪
接触者追踪应用程序——图片来自 Unsplash
接触者追踪是一种辨认所有在特定时间段内互相接触的人的办法。它次要用于像 COVID-19 或 HIV 这样的大流行病。因为没有任何对于谁被感化了的数据,咱们无奈阻止其流传。
Python 能够与称为 DBSCAN(Density-Based Spatial Clustering of Applications with Noise,基于密度的带噪声的应用程序空间聚类)的机器学习算法一起用于接触者追踪。
因为这只是一个从属我的项目,因而咱们无奈取得任何官网数据。目前,最好应用 Mockaroo 生成一些理论的测试数据。
9. 主动将文件从一个文件夹挪动到另一个文件夹
Ubuntu 的的 Nautilus 文件管理器——图片由作者上传
这是一个十分根本的 Python 程序,始终监督某个文件夹,每当有文件增加到该文件夹中时,它都会查看其类型并相应地将其挪动到特定的文件夹中。
例如,咱们能够跟踪咱们的下载文件夹。当初,当一个新文件被下载时,它会依据其类型主动将其挪动到另一个文件夹中。.exe 文件很可能是软件设置程序,因而将其移至“软件”文件夹中。而将图片(png、jpg、gif)挪动在“图像”文件夹中。通过这种形式,咱们能够组织不同类型的文件,以便快速访问。
10. 从 YouTube 上收集职业路线相干的视频
YouTube 主页——图片来自 Unsplash
创立一个应用程序,承受咱们须要学习的职业技能名称。例如,要成为一名 Web 开发人员,咱们须要学习:
- HTML5
- CSS3
- JavaScript
- 后端语言(PHP、Node.js、Python、ASP.NET、或 Java)
- Bootstrap 4
- WordPress
- 后端框架 (Laravel、Codeigniter、Django、Flask 等)
- 等等。
输出技能后,会有一个“生成职业路线”按钮。它领导咱们的程序搜寻 YouTube,并依据每种技能抉择相干的视频 / 播放列表。
如果有很多相似的技能视频,那么它将抉择观看次数、评论次数、喜爱次数最多的视频。
而后,程序会依据技能将这些视频分组,并在 GUI 中显示其缩略图、题目和链接。
它还会剖析每个视频的时长,并汇总,而后告知咱们学习该职业路线须要多长时间。
当初,作为一个用户,咱们能够逐渐观看这些视频,并成为这一职业的巨匠。
论断
通过这些独特的编程我的项目来挑战本人,能够让本人放弃生机,进步技能,并能帮忙你摸索新的可能性。
我下面提到的一些我的项目构想也能够用作你的毕业设计。
当初是时候用 Python 编程语言展现你的创造力,并将这些构想转化为你引以为豪的货色了。
以上就是本次分享的所有内容,如果你感觉文章还不错,欢送关注公众号:Python 编程学习圈,每日干货分享,发送“J”还可支付大量学习材料,内容笼罩 Python 电子书、教程、数据库编程、Django,爬虫,云计算等等。或是返回编程学习网,理解更多编程技术常识。