时间:2022-10-09 18:02:54 | 浏览:418
作者 | Juan Cruz Martinez
译者 | 刘雅梦 来源 | InfoQ
排版 | Python编程时光
你知道 Python是被称为全能编程语言的吗?
是的,它确实是,虽然不应该在每个项目中都使用它。
你可以使用它来创建桌面应用程序、游戏、移动应用程序、网站和系统软件。它甚至是最适合用于实现 人工智能和机器学习算法的语言。
因此,在过去的几周里,我为 Python 开发人员收集了一些独特的项目构想。这些项目构想很有可能会让你对这门神奇的语言产生兴趣。最棒的是,你可以通过这些有趣但也具有挑战性的项目来增强你的 Python 编程技能。
让我们来一一看下。
交互示例——原图来自 Unsplash
如今,桌面应用程序开发领域已经取得了巨大进步。你能看到许多拖拽式 GUI 构建器和语音识别库。那么,为什么不能将它们结合在一起,通过与计算机对话来创建一个用户界面呢?
这是一个全新的概念,经过一番研究,我发现还没有人尝试这样做。因此,它可能比下面提到的那些更具挑战性。
下面是使用 Python 开始这个项目的一些说明。首先,你需要用到如下的包:
语音识别库
PAGE ——拖拽式 GUI 构建器
PAGE 的文档
PAGE 是如何工作的视频
使用 PAGE 创建登录窗口
现在,我们的想法是对一些语音命令进行硬编码,例如:
你明白我的意思了吧?可以非常简单明了地添加更多这样的命令。
因为这将是一个 最小可行性产品 (Minimum Viable Product,MVP)。所以,如果你必须硬编码许多条件语句(例如,if…else),这是完全可以的。
设置完这些基本命令后,就可以测试代码了。现在,你可以尝试在窗口中构建一个非常基本的登录表单。
这一想法的主要灵活性在于它可以用于游戏开发、网站和移动应用程序。即使是使用不同的编程语言也可以。
网球比赛——图片来自 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 博彩机器人项目(
https://github.com/edouardthom/ATPBetting)。
交易——图片来自 Unsplash
交易机器人与上一个项目非常相似,因为它也需要 AI 来进行预测。
现在的问题是,AI 是否可以正确地预测股价的波动?
当然,答案是肯定的。
在开始之前,我们需要一些数据来开发一个交易机器人。
Yahoo Finance —— 获取股票数据
Alpha Vantage —— 用于金融数据的实时 API
这些来自投资百科(Investopedia)的资源可能有助于训练机器人。
初学者的交易策略
只有通过了这五步测试才能进行交易
读完这两篇文章后,你会对什么时候买股票,什么时候卖股票有一个更好的理解。这些知识可以很容易地转换为 Python 程序,从而自动地为我们做出决策。
你也可以参考这个名为 freqtrade (
https://github.com/freqtrade/freqtrade)的开源交易机器人。它使用 Python 构建,并实现了多种机器学习算法。
AI 助手界面——图片来自 Unsplash
这个想法取材于好莱坞电影《钢铁侠》系列。这部电影围绕着科技、机器人和 AI 展开。
在这里,钢铁侠用人工智能为自己打造了一个虚拟助手。该程序被称为 Jarvis,可以帮助钢铁侠完成日常任务。
钢铁侠使用简单的英语向 Jarvis 发出指令,Jarvis 也用英语回应。这意味着我们的程序需要语音识别以及文本转语音的功能。
建议使用这些库:
语音识别
文字转语音 (TTS)
现在,你可以对语音命令进行硬编码,例如:
你还可以使用 Jarvis 执行其他很多任务,例如:
设置手机闹钟。
不停地检查家里的监控摄像头,并告知是否有人在外面等着。你可以添加更多的功能,如人脸检测和识别。它可以帮助你了解外面有哪些人或者有多少人。
打开 / 关闭房间的窗户。
打开 / 关闭灯。
自动回复电子邮件。
安排任务。
甚至连 Facebook 的创始人“马克·扎克伯格”(Mark Zuckerberg)都将 Jarvis 作为一个辅助项目。
门票——图片来自 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/PA_SSL_AutoRenew)上查看这段代码 以寻找灵感。
人脸识别——作者的照片
如今,政府已在公共场所安装了监控摄像头,以提高公民的安全性。这些摄像头大多只是用于录制视频,法医专家必须手动识别或跟踪个人。
如果我们创建一个 Python 程序来实时识别摄像头中的每个人会怎么样呢?首先,我们需要访问国家身份证数据库,但我们可能没有权限访问。
所以,一个简单的选择是创建一个包含家庭成员记录的数据库。
然后,可以使用一个 人脸识别库(
https://pypi.org/project/face-recognition/),并将其与摄像头的输出连接起来。
接触者追踪应用程序——图片来自 Unsplash
接触者追踪是一种识别所有在特定时间段内相互接触的人的方法。它主要用于像 COVID-19 或 HIV 这样的大流行病。因为没有任何关于谁被感染了的数据,我们无法阻止其传播。
Python 可以与称为 DBSCAN(Density-Based Spatial Clustering of Applications with Noise,基于密度的带噪声的应用程序空间聚类)的机器学习算法一起用于接触者追踪。
由于这只是一个附属项目,因此我们无法获得任何官方数据。目前,最好使用 Mockaroo 生成一些实际的测试数据。
你可以查看 这篇文章(
https://towardsdatascience.com/contact-tracing-using-less-than-30-lines-of-python-code-6c5175f5385f) 以了解具体代码实现。
Ubuntu 的的 Nautilus 文件管理器——图片由作者上传
这是一个非常基本的 Python 程序,始终监视某个文件夹,每当有文件添加到该文件夹中时,它都会检查其类型并相应地将其移动到特定的文件夹中。
例如,我们可以跟踪我们的下载文件夹。现在,当一个新文件被下载时,它会根据其类型自动将其移动到另一个文件夹中。
.exe 文件很可能是软件设置程序,因此将其移至“软件”文件夹中。而将图片(png、jpg、gif) 移动在“ 图像”文件夹中。
通过这种方式,我们可以组织不同类型的文件,以便快速访问。
YouTube 主页——图片来自 Unsplash
创建一个应用程序,接受我们需要学习的职业技能名称。
例如,要成为一名 Web 开发人员,我们需要学习:
HTML5
CSS3
JavaScript
后端语言(PHP、Node.js、 Python、ASP.NET、或 Java)
Bootstrap 4
WordPress
后端框架 (Laravel、Codeigniter、Django、Flask 等)
等等。
输入技能后,会有一个“生成职业道路”按钮。它指导我们的程序搜索 YouTube,并根据每种技能选择相关的视频 / 播放列表。如果有很多类似的技能视频,那么它将选择观看次数、评论次数、喜欢次数最多的视频。
然后,程序会根据技能将这些视频分组,并在 GUI 中显示其缩略图、标题和链接。
它还会分析每个视频的时长,并汇总,然后告知我们学习该职业道路需要多长时间。
现在,作为一个用户,我们可以逐步观看这些视频,并成为这一职业的大师。
结论
通过这些独特的编程项目来挑战自己,可以让自己保持活力,提高技能,并能帮助你探索新的可能性。
我上面提到的一些项目构想也可以用作你的毕业设计。
现在是时候用 Python 编程语言展示你的创造力,并将这些构想转化为你引以为豪的东西了。
不论你是Python新手零基础入门Python还是对于Python有了一定的经验积累,这里跟大家分享5个Python计时器,希望伙伴们有能用得上的!Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分
机器之心报道编辑:力元、蛋酱2020 年 1 月 1 日,Python 官方结束了对 Python 2 的维护,意味着 Python 2 完全退休,进入 Python 3 时代。之后,关于 Python 4 的发布排期也成为了社区的热门议题
一、python了解python 是脚本语言。python 是一种面向对象的解释型计算机程序设计语言。语法简洁清晰,特色之一是强制用空白符作为语句缩进。优点:跨平台、胶水语言、开源免费、丰富的库 。缺点:运行速度慢、代码不能加密、场景、数据
思维导图是整理知识的一种非常有效的手段,这里分享几张 Python 基础学习的思维导图,可以帮助自己巩固下基础,有需要的小伙伴可以加紧时间收藏哦!获取方式:
第一期计算机等考二级程序设计科目的学习,我们从简单易学的Python开始,今天,就让我们揭开它神秘的面纱!我们先看三组数据:第一组呢是TIOBE指数排行,可以看到我们的Python在今年三月份排在了榜首的位置,相比去年的三月份,Python
都说Python什么都能做,本来我是不信的!直到我在CSDN站内看到了一件真事儿:一位博主贴出了自己10分钟用Python搭建小说网站的全过程!全程只用了2步操作,简直太秀了!!……第一步:爬取小说数据库第二步:用Python的热门框架Dj
之前老看Java岗的一个朋友炫耀他的一份Java核心知识点笔记,当时,我内心毫无波澜,只有一点点酸……其实Python开发也有很多知识点,我一直一来就想要一份Python核心知识点笔记来帮助自己查漏补缺,后来想想,既然一直没有找到让我满意的
去年 11 月,退休失败的 Python 之父 Guido van Rossum 在推特上宣布,退休生活太无聊,从而加入了微软开发者部门。微软自然支持优秀人才的发展,所以赋予了 Guido van Rossum “自由选择项目”的权利,Gu
小编贴心提醒,本文阅读时间9分钟1.Hello world安装完Python之后,打开IDLE(Python GUI) ,该程序是Python语言解释器,你写的语句能够立即运行。我们写下一句著名的程序语句:并按回车,你就能看到这句被K&R引
Python是近年来非常火热的一门编程语言,Python 语言最大的特点就是简单,该特点主要体现在以下 2 个方面:1. Python 语言的语法非常简洁明了,即便是非软件专业的初学者,也很容易上手。2. 和其它编程语言相比,实现同一个功能
经过了前一段时间的python学习,那么今天我们来学习一下字典,首先来看一个简单的字典:在python中,字典是一系列键-值对,每个键都与一个值相关联,例如前面的color和age就是键,yelllow和23就是他们分别对应的值对1.访问字
之前已经讲解了Python解释器的下载和安装,现在就讲下解释器的作用和分类,在讲解任何Python代码之前我们得先知道解释器概念和作用,因为解释器扮演的角色是非常重要的。一、解释器的作用****作用:运行文件(运行代码)****Python
在IDLE中点击help中的Python Docs找到“Python Docs”然后就进入Python文档的界面,在左边找到“搜索”按钮,并点击。找到“搜索”按钮在搜索框中搜索所需要的库名称或者函数名称,就能含有该关键词对应的文件。你会在这
郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI做图表,谁不会?打开Excel,自动就可以生成各种各样的图表。但你看这些图表呢?结合真实地理数据,展现美国每个县的失业率。全球自然灾害统计,类型、规模、时间,一目了然。甚至还有可爱
作者 | Juan Cruz Martinez译者 | 刘雅梦 来源 | InfoQ排版 | Python编程时光你知道 Python是被称为全能编程语言的吗?是的,它确实是,虽然不应该在每个项目中都使用它。你可以使用它来创建桌面应用程序、