英文原文:What Can I Do With Python?
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、网站设计、外贸网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的丰宁网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
编者按:Python 因为简单全面易用而成为近年来大热的编程语言。但是很多人学习了这门余元的语法和基本功能之后却不知道 Python 能干什么以及怎么做。Realpython.com 上面的一篇文章于是把 Python 可以做的事情以及不适合做的事情进行了总结。更棒的是,里面还列举了如何做这些事情的教程和项目案例,是非常适合上手的资源汇总。
你做到了:你已经完成了一门课程,或者终于看完了一本教你用 Python 学习编程基础的书。你已经掌握了列表、字典、类,也许甚至还有面向对象的概念。
那么……接下来呢?
Python 是一门非常全面的编程语言,在各个不同领域都有着繁多的应用。如果你已经掌握了 Python 的基础并且恨不得马上用这门语言做点东西,那现在就是找出下一步应该做什么的时候了。
在本文中,我们提供了若干不同的项目、资源以及教程,你可以利用这些来开始做东西。
别人用 Python 做了什么
你可能会在想,在现实世界里别人都用 Python 开发了什么东西呢。那么首先我们先迅速看一下其中一些大的技术公司是怎么使用这门语言的。
Google 这家公司从一开始就使用 Python 了,而且在这家技术巨头的主要服务器端语言阵营中赢得了一席之地。Python 的仁慈的独裁者 Guido van Rossum 甚至还在那里待过几年,负责监管这门语言的开发工作。
Instagram 喜欢 Python 是因为它的简洁。这项服务以运行着“全世界最大的 Django web 框架部署”著称。而 Django 完全是用 Python 写出来的。
Spotify 将这么语言用到数据分析和后端服务上。据他们的团队说,Python 的易用让他们拥有了一条超快的开发渠道。Spotify 要进行海量分析来给用户提供推荐,所以他们需要一个简单又好用的东西。Python 正好是救兵!
你还可以看看这篇文章去了解其他公司都用 Python 干什么。如果你已经被说服的话,我们就开始吧!
你可以用 Python 做什么
从 web 开发到数据科学、机器学习等等,Python 在现实世界中的应用是无限的。以下一些项目将会辅助你最终将你的 Python 技能用到正道上。
#1:将乏味的事情自动化
这是一本“针对全新初学者实用编程”的资源。就像标题所述,这本书教你如何将乏味的任务自动化,比如更新电子表格或者重命名计算机的文件。这是想要掌握 Python 基础的任何人的完美起点。
你将有机会联系自己到目前为止学到过的东西,去创建字典、抓取 web,折腾文件,并且创建对象和类。你在这本书遇到的上手应用会为你听过现实世界中的结果,你可以马上就看到。
这一资源有不同的格式,可保证最好的学习体验。你可以到 Amazon 上面去买实体书或者免费在网上阅读。
#2:随时跟踪比特币价格
这段时间似乎人人都在讲比特币。自从 2017 年 12 月价格达到将近 20000 美元的高点后,加密数字货币已经进入到数百万人的脑海里。它的价格在不断波动,但是很多人都认为这是一笔值得的投资。
如果你正在寻求靠这波虚拟淘金热赚上一笔,想知道什么时候该出手,那就得随时了解比特币的价格。这门教程可以教你如何利用 Python 技能开发出一项比特币价格通知服务。
这一项目的基础是 IFTTT 小程序的创建。你讲学会如何利用请求库来发送 HTTP 请求以及如何利用 webhook 将你的 app 与外部服务连接。
这是对加密数字货币感兴趣的 Python 初学者完美的初始项目。你用这一教程开发的这项服务可以延伸到其他的货币,所以别担心,以太坊也能用上。
#3:创建一个计算器
这个简单的项目是进入 GUI 编程的一个可靠的办法。开发后端服务是部署的重要部分之一,但是可能也需要考虑前端的事情。创建用户可轻松与之交互的应用就显得无比重要。
如果你对 UX 和 UI 感兴趣,那就看看这门教程。从中你会接触 tkinter 模块,这是标准的图形化用户界面软件包,通常是跟 Python 捆绑在一起的。
tkinter 模块是对 Tcl/Tk 进行封装的 wrapper,是 Tcl 脚本语言与 Tk GUI 框架扩展的结合。如果你已经安装了 Python,那你就应该已经有 tkinter 框架可用了。一个简单的调用即可唤出:
frim tkinter import
一旦你完成了这一步设置,就可以用 Python 继续开发你的第一个 GUI 计算器了。
练习运用 tkinter 模块,看着你的愿景慢慢在屏幕上实现。然后,一旦你练过手了,就可以拓展学习 Python 其他的 GUI 工具包了。更多信息可以看看 Python GUI 编程的官方文档。
#4:挖掘 Twitter 数据
感谢互联网以及逐步壮大的物联网,我们现在能访问的数据量之大甚至在 10 年前都是无法想象的。分析是任何跟数据打交道的领域的很大一部分。大家都在讨论什么?我们从他们的行为中能看到什么模式?
Twitter 是获得其中一些问题答案的好地方。如果你对数据分析感兴趣,则 Twitter 数据挖掘项目就是利用你的 Python 技能回答有关周围世界的问题的好办法。
我们的 Twitter 情绪分析教程将用一个 docker 环境教你如何挖掘 Twitter 数据并且分析用户情绪。你将学会如何用 Twitter 注册一个应用,只有这样你才能访问他们的 streaming API。
你会看到如何利用 Tweepy 来过滤想要抓取的推特,用 TextBlob 来计算哪些推特的情绪,用 Elasticsearch 来分析他们的内容,以及用 Kibana 来对结果进行可视化。当你完成这门教程后,你应该就可以深入学习其他利用 Python 来进行文字处理和语音识别的项目了。
#5:用 Flask 建立一个微博客
似乎现在人人都有一个博客,但是给自己在网上设立一个中心枢纽不算什么糟糕想法。随着 Twitter 和 Instagram 的出现,微博客尤其流行起来。在 Miguel Grinberg 搞的这个项目里,你会学习到如何搭建自己的微博客。
这门教程叫做“Flask Mega 指南”,内容可以说不负其名。整篇教程分为 23 章,学习完之后你可以对 Flask 微型 web 框架拥有深刻了解。到项目最后,你应该就能得到一个功能完整的 web 应用了。
你不需要了解有关 Flask 的一切就可以开始,所以对于那些恨不得马上动手尝试 web 开发的人来说这是非常好的。
这个教程最近还更新了,把有助于你成为更好的 web 开发者的内容也纳入进来了。你可以在网上免费阅读,或者到 Amazon 去买一本纸质版,或者在他的在线课程中让作者手把手教你。一旦你做完项目,你就可以继续学 Django,甚至开始创建更大规模的 web 应用了。
#6:建立一个区块链
尽管区块链起初开发出来是作为金融技术使用的,但现在却蔓延到了其他的各个行业。区块链几乎可以用到任何交易上面:从房地产到病历转移等等。
如果自己做一个的话牛就会对它的机制有更好的了解。Hackernoon 的教程将辅助你从零开始实现一个区块链。到项目最后,你会对这一交易技术的机制拥有深入的了解。
做区块链需要跟 HTTP 和 request 库打交道。一旦你安装了 Flask web 框架,你就可以通过互联网用 HTTP 请求跟你的区块链进行通信了。
记住,区块链不仅仅适用于加密狂热者。一旦你自己开发了一个区块链之后,可以看看能不能找到有创意的手段在你感兴趣的领域实现这门技术。
#7:Twitter Feed 控制
对开发 web 应用感兴趣但是对开始一个大型项目没有信心?别担心——我们有东西给你。跟着我们一起学习如何在几个小时内创建一个简单的 web app。
Bob Belderbos 分享了自己是如何实现第 40 届 PyBites Code Challenge 的,在这项编程挑战中,参与者需要创建一个 web 应用来更好地在 Twitter 上控制每日 Python 提示的新闻流。你可以通读他的实现以及代码了解究竟。
这次你用的不是 Flask,而是微型 web 框架 Bottle。Bottle 以迅速部署应用的低依赖度解决方案著称。既然它是轻量且易用的,所以你很快就能搭建好你的应用。
你还会用 Tweepy 模块加载 Twitter API 的数据。你会将数据保存到 SQLAlchemy 数据库里面,所以你还会练习到 SQL 查询的编写。Fork 这个代码库就可以开始了!
#8:玩 PyGames
这个是给喜欢乐子的人准备的!Python 可用于对各种电玩游戏、冒险游戏以及益智游戏进行编码,你可以在数天之内完成部署。经典的游戏包括猜单词、一字棋、乒乓球等等,这些都可以用你刚学会的编程技能去做。
Pygame 库使得自己开发游戏变得更加容易。它包含了开发游戏所需的几乎一切。
Pygame 既是免费的也是开源的。里面包含有计算机图形库和声音库,你可以利用这些可以来给你的应用增加互动功能。
你可以用这个库来开发很多的游戏。不管你选择要做哪一个,请随意把你的东西分享到 Pygame 社区!
#9:选择你的冒险之旅
如果你更喜欢讲故事,用 Python 仍然可以开发出很酷的东西来。
这门语言极其容易编写,是创作交互式小说的完美环境。这个免费资源会指导你如何用 Python 编写一个文本型的冒险游戏的过程。
教程需要掌握一些 Python 编程的基本知识,但是它能够帮助你弥补自己所了解的知识与如何运用这一知识到应用开发上之间的鸿沟。
如果你希望将你的故事提升到新的水平,可以用类似 Ren’Py 这样的软件引擎添加声音和图像到你的游戏里面,创作出成熟的可视化小说。(然后你可以把它放到 Steam 上看看大家的反应!获得对自己作品反馈的最好方式是把它发布到世界上)
#10:对机器学习说“Hell World!”
对于对人工智能感兴趣的任何人来说,机器学习是理解的关键领域。然而,想要开始学习机器是很吓人的,而且这个领域发展很快,总是在变。
幸运的时候,网上有很多资源可以帮助你试水一下再投入到数据科学的海洋之中。Jason Brownlee 的这门教程是关于用 Python 处理机器学习非常精彩的介绍。
从中你将了解到其中一些最常见的机器学习算法,以及可以辅助你做出预测的 Python 库。
这门教程极其简单而且非常容易学。你可以在几个小时之内完成学习。等你学完之后,就会对如何利用 Python 进行数据科学工作有了迅速的了解。
如果你确认自己已经准备好进一步深入学习了,可以看看我们的海量数据科学教程,在这里你可以学习如何分析指纹、如何建立可视化,以及如何识别语音和面部,这一切都是用 Python 来做的。
#11:接受挑战
如果你不确定要冒险尝试上述的一些较大型的项目,而小一点的你又不感兴趣的话,那你可能就会想还有其他可以练手的吗?怎么才能找到令你兴奋的东西呢?
编码挑战可以帮助你联系你的 Python 技能并且对你可以用 Python 做到的所有不同事情有初步了解。
简而言之:给你一个问题,你必须用 Python 找到一个解决方案。
你有机会开发对你有意义的问题的实现,但你也有机会通过提示来深入探究 Python 语言。这些会告诉你应该导入哪些模块来帮助你解决挑战。
编码挑战是以广度优先的方式尽可能多地学习库、方法、以及框架的好办法。在这里保证你可以找到想要进一步探索的东西。你可能甚至还会回到这份清单里面,并且发现你用来解决其中一个挑战的东西已经激起了你新的兴趣!
以下的挑战你可以试试:
The Python Challenge 有 20 个多个关卡可供挑战。创建小规模的 Python 脚本来找到相应关卡的解决方案。互联网上到处都有相关解决方案的提示,不过最好还是自己找到解决办法!
PyBites Code Challenges 的挑战也有 50 多个!这些挑战鼓励你通过开发应用完成任务来掌握 Python。
如果你打算自己搞定这些挑战而不是按照教程步骤去编码的话,那么找一份可以随时求助的资源总是好的。当你在解决这些挑战时,Python Tricks 这本书是非常出色的案头信息源。它会带领你探索 Python 不那么知名的地方,而那些地方正是你解决问题所需要的。
Python 可能不应该干的事情
显然 Python 是非常全能的语言,你可以用它来做很多事情。但你没法用它来做完所有事情。实际上,有些东西 Python 就不是很擅长。
作为一门解释性语言,Python 跟设备驱动程序这样的底层设备打交道会比较麻烦。比方说,如果你只想用 Python 来写一个操作系统的话会遇到问题。底层应用最好还是坚持用C或者 C++ 来写。
然而,甚至这一断言恐怕也持续不了多久。作为对 Python 灵活性的证明,有人正在致力于扩展 Python 在底层交互中的可用性的项目。MicroPython 只是其中之一,其目标就是为 Python 提供底层能力。
如果我想做的东西没有出现在这份清单里面怎么办?
没关系!这份东西也不是面面俱到的——用 Python 你可以开发无数我们没有覆盖到的工具和应用。不要把你自己局限在这份清单里面。这只是一份资源,让你有个地方可以开始。
这个视频可以告诉你 Python 还适合哪些其他项目。你还可以看看这篇博客文章,了解去哪里寻找更多的 Python 项目灵感。
最后,该你来做一下调查找到能调动自己兴趣的项目了。如果你不确定从何开始,那就关注我们的 Twitter 账号吧。我们会定期分享来自读者社区的很酷很有趣的项目。你可能会从中找到自己迫不及待想要做出贡献的一个。
接下来呢?
好了,这就是你从 Python 初学者发展成娴熟的 Pythonista 的 11 条道路。
不管你选择从何开始,必定会找到无数发展编程技能的光明大道。随便选一个然后开始就是了!你的项目想法没有出现在这份清单里面?可以在评论区写出来!提出你的完美项目建议。
如果你还是找不到方向,需要别人推动你一下,可以看看我们关于形成积极学习策略的提示,帮助你回到正轨。
分享名称:大家在学的热门编程语言Python,都用来干什么?
网页地址:http://www.shufengxianlan.com/qtweb/news9/521909.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联