编者按: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继续研发你的第1个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条道路。
不管你选择从何起始,必定会找到无数发展编程技能的光明大道。随便选一个而后起始便是了!你的项目想法无出此刻这份名单里面?能够在评论区写出来!提出你的完美项目意见。
倘若你还是找不到方向,必须别人推动你一下,能够瞧瞧咱们关于形成积极学习策略的提示,帮忙你回到正轨。
原文链接: https://realpython.com/what-can-i-do-with-python/
编译组出品。编辑:郝鹏程。
|