python干啥用的啊-python干什么用的-程序员宅基地

编者按:Python因为简单全面易用而成为近年来大热的编程语言。但是很多人学习了这门余元的语法和基本功能之后却不知道Python能干什么以及怎么做。Realpython上面的一篇文章于是把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条道路。

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

如果你还是找不到方向,需要别人推动你一下,可以看看我�...

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37988176/article/details/109414885

智能推荐

第三十六篇、基于Arduino uno,获取红外寻迹传感器的原始值——结果导向_怎么检测红外寻迹模块返回值-程序员宅基地

文章浏览阅读385次。基于Arduino uno,获取红外寻迹传感器的原始值_怎么检测红外寻迹模块返回值

基于单片机的无线投票显示系统设计-程序员宅基地

文章浏览阅读494次,点赞5次,收藏9次。单片机(Microcontroller)是一种集成了微处理器核心、存储器、输入/输出接口和定时器等功能模块的集成电路芯片,具有体积小、功耗低、性价比高等特点,被广泛应用于各个领域。单片机的发展历史可以追溯到20世纪70年代,当时的单片机功能有限,主要用于简单的控制任务。

生成对抗网络GAN_生成对抗网络 python代码-程序员宅基地

文章浏览阅读412次。https://zhuanlan.zhihu.com/p/54096381_生成对抗网络 python代码

html——网页上添加表格_怎样在网站中添加表格别人可以下载-程序员宅基地

文章浏览阅读5.2k次,点赞7次,收藏18次。有时候我们需要在网页上展示一些数据,如某公司想在网页上展示公司的库存清单。如下表:想在网页上展示上述表格效果可以使用以下代码:创建表格的四个元素:table、tbody、tr、th、td1、…:整个表格以标记开始、标记结束。2、…:当表格内容非常多时,表格会下载一点显示一点,但如果加上标签后,这个表格就要等表格内容全部下载完才会显示。如右侧代码编辑器中的代码。3、…_怎样在网站中添加表格别人可以下载

《Qt MOOC系列教程》第五章第三节:创建新的QML类型_qmlregisteruncreatabletype-程序员宅基地

文章浏览阅读770次。到目前为止,我们已经讨论了如何将对象实例公开给QML上下文。有时我们还希望在QML中可以使用注册类本身。注册允许将类当作QML中的数据类型来使用。此外,注册还可以提供其他功能,比如允许在QML中将类用作可实例化的QML对象类型,或者允许在QML中导入和使用类的单例实例。通常我们使用Q_OBJECT宏注册从QObject派生的类,也可以用Q_GADGET宏声明一个比QObject“更轻”的版本。在这些更轻的类中,我们可以访问它们的属性、枚举和可调用的方法,但不能使用信号槽系统,我们稍后会进行介绍。1. 注_qmlregisteruncreatabletype

头文件与命名空间的关系_c#中命名空间和c语言中头文件之间的关系-程序员宅基地

文章浏览阅读2.1k次,点赞7次,收藏15次。头文件与命名空间的关系 Q:有些书说有些头文件不在std里是什么意思?std里包含些什么?为什么不用std就不能使用cout?头文件中声明的东西为什么在使用的时候需要先using namespace std;一下?如果我不用#include和其他头文件。只用using namespace std 的话,是不能用cout的。这说明cout是在iostream里声明_c#中命名空间和c语言中头文件之间的关系

随便推点

python实现矩阵乘法(实现文件读写操作)_python 读取csv矩阵乘法-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏8次。注释dtype=np.int代表导入数据的格式为整数delimiter=’,'代表原始数据的存储格式为以‘,’为间隔原始文件中以‘#’开头的行代表被注释,不会被np.loadtxt读取通过[[0] * b for i in range(a)]的方式初始化一个x[a][b]的二维数组np.savetxt()函数可以用来保存数据,第一个参数为保存数据的路径,其中C是自定义的文件名,如果该文..._python 读取csv矩阵乘法

《军团要塞2》绘画渲染_军团要塞画师-程序员宅基地

文章浏览阅读1.4k次。军团要塞2绘画渲染(a)美术概念 (b)游戏内玩家看到的角色摘要在《军团要塞2》中我们提出了一整套美术方案和新的实时渲染技术,这种技术能实现出一种独一无二的渲染风格。《军团要塞2》由美术和程序基于20世纪初时商业插画中的传统风格合作完成。在这篇论文中,我们会结合美术方向与技术选择,来讨论如何支持美术目标和玩法限制。除了实现一种有冲击力的风格外,我们也设计了边缘光照和亮度与色调变化的着色器技..._军团要塞画师

【数字图像处理实验二】:RGB图3个通道的提取、RGB图转灰度图、图片反转、图片亮度调整、直方图显示_jupter rgb灰度直方图提取-程序员宅基地

文章浏览阅读9.6k次,点赞8次,收藏65次。这里介绍:RGB图3个通道的提取、RGB图转灰度图、图片反转、图片亮度调整具体操作,需导入的库如下:原图如下:结果如下,从左到右分别是:Red,Green,Blue这里借助skimage库中的exposure函数来进行图像亮度的调整结果如下:........._jupter rgb灰度直方图提取

2023年地级、省级、县级、国界、九段线的shp数据_九段线shp数据-程序员宅基地

文章浏览阅读931次。2023年地级、省级、县级、国界、九段线的shp数据_九段线shp数据

python高校本科生学习成长记录系统的设计与实现flask-django-php-nodejs-程序员宅基地

文章浏览阅读797次,点赞16次,收藏19次。二十一世纪我们的社会进入了信息时代,信息管理系统的建立,大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多,而在线管理系统刚好能满足这些需求,在线管理系统突破了传统管理方式的局限性。于是本文针对这一需求设计并实现了一个基于django高校本科生学习成长记录系统,为了简捷并有效的解决学习各方面的问题。

redis实现分布式session共享_redis分布式session共享-程序员宅基地

文章浏览阅读7.7k次。为什么要共享session?我们使用单台Tomcat的时候不会有共享sesssion的疑虑,只要使用Tomcat的默认配置即可,session即可存储在Tomcat上。但是随着业务的扩大,增加Tomcat节点构成Tomcat集群大势所趋,分布式带来了增加更大规模并发请求的优势,但是也随之到来了一个问题,每个Tomcat只存储来访问自己的请求产生的session,如果Tomcat-A已经为客..._redis分布式session共享

推荐文章

热门文章

相关标签