你们都在学的编程语言 Python,能够用来干什么?

编者按:Python由于简单全面易用而成为近年来大热的编程语言。可是不少人学习了这门余元的语法和基本功能以后殊不知道Python能干什么以及怎么作。Realpython.com上面的一篇文章因而把Python能够作的事情以及不适合作的事情进行了总结。更棒的是,里面还列举了如何作这些事情的教程和项目案例,是很是适合上手的资源汇总。前端

你作到了:你已经完成了一门课程,或者终于看完了一本教你用Python学习编程基础的书。你已经掌握了列表、字典、类,也许甚至还有面向对象的概念。python

那么……接下来呢?程序员

Python是一门很是全面的编程语言,在各个不一样领域都有着繁多的应用。若是你已经掌握了Python的基础而且巴不得立刻用这门语言作点东西,那如今就是找出下一步应该作什么的时候了。web

在本文中,咱们提供了若干不一样的项目、资源以及教程,你能够利用这些来开始作东西。算法

在这里仍是要推荐下我本身建的Python开发学习裙:304+零五零加上799,裙里都是学Python开发的,若是你正在学习Python ,小编欢迎你加入,你们都是软件开发党,不按期分享干货(只有Python软件开发相关的),包括我本身整理的一份2018最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深刻Python的小伙伴docker

别人用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库打交道。一旦你安装了Flaskweb框架,你就能够经过互联网用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条道路。

无论你选择从何开始,一定会找到无数发展编程技能的光明大道。随便选一个而后开始就是了!你的项目想法没有出如今这份清单里面?能够在评论区写出来!提出你的完美项目建议。

若是你仍是找不到方向,须要别人推进你一下,能够看看咱们关于造成积极学习策略的提示,帮助你回到正轨。更多编程方面的分享请关注微信公众号:程序员大牛!

相关文章
相关标签/搜索