了解Python的用处更有助于你的学习

你所了解的Python是什么样的?Python是一门脚本语言,因为能将其他各种编程语言写的模块粘接在一起,也被称作胶水语言。强大的包容性、强悍的功能和应用的广泛性使其受到越来越多的关注。一起来了解Python的用处,助力你的Python学习。

1、传说中的WEB开发

在国内,豆瓣一开始就使用Python作为web开发基础语言,知乎的整个架构也是基于Python语言,这使得web开发这块在国内发展的很不错。

尽管目前Python并不是做Web开发的首选,但一直都占有不可忽视的一席。Python中有各类Web框架,无论是简单而可以自由搭配的微框架还是全功能的大型MVC框架都一应俱全,这在需要敏捷开发的Web项目中也是十分具有优势的。广泛使用(或曾经广泛使用)Python提供的大型Web服务包括知乎、豆瓣、Dropbox等网站。加之Python本身的“胶水”特性,很容易实现在需要大规模性能级计算时整合其它语言,同时保留Web开发时的轻便快捷。

使用Python中的Flask搭建一个Web版的Hello world,也只需要几行而已:

from flask import Flask

app = Flask(__name__)

@app.route("/")

def hello():

return "Hello World!"

if __name__ == '__main__':

app.run()

除此之外,Python中还有大量“开箱即用”的模块,用于与各种其它网站的对接等相关功能。如果希望开发个微信公众号相关功能,wechat-sdk/weixin-python等包,能够使你几乎完全不用管文档中提及的各种服务器交互细节,专注于功能实现即能完成开发。

目前,国内的Python web开发主要有两个技术栈:Django、 Flask

2、网络爬虫

网络爬虫是Python比较常用的一个场景,国际上,google在早期大量地使用Python语言作为网络爬虫的基础,带动了整个Python语言的应用发展。以前国内很多人用采集器搜刮网上的内容,现在用Python收集网上的信息比以前容易很多了。Python在这个方面有许多工具上的积累,无论是用于模拟HTTP请求的Requests、用于HTML DOM解析的PyQuery/BeautifulSoup、用于自动化分布式爬取任务的Scrapy,还是用于最简化数据库访问的各种ORM,都使得Python成为数据爬取的首选语言之一。特别是,爬取后的数据分析与计算是Python最为擅长的领域,非常容易整合。目前Python比较流行的网络爬虫框架是功能非常强大的scrapy。

3、人工智能(AI)与机器学习

人工智能是现在非常火的一个方向,AI热潮让Python语言的未来充满了无限的潜力。现在释放出来的几个非常有影响力的AI框架,大多是Python的实现,为什么呢?因为Python足够动态、具有足够性能,这是AI技术所需要的技术特点。比如基于Python的深度学习库、深度学习方向、机器学习方向、自然语言处理方向的一些网站基本都是通过Python来实现的。

机器学习,尤其是现在火爆的深度学习,其工具框架大都提供了Python接口。Python在科学计算领域一直有着较好的声誉,其简洁清晰的语法以及丰富的计算工具,深受此领域开发者喜爱。

早在深度学习以及Tensorflow等框架流行之前,Python中即有scikit-learn,能够很方便地完成几乎所有机器学习模型,从经典数据集下载到构建模型只需要简单的几行代码。配合Pandas、matplotlib等工具,能很简单地进行调整。

而Tensorflow、PyTorch、MXNet、Keras等深度学习框架更是极大地拓展了机器学习的可能。使用Keras编写一个手写数字识别的深度学习网络仅仅需要寥寥数十行代码,即可借助底层实现,方便地调用包括GPU在内的大量资源完成工作。

值得一提的是,无论什么框架,Python只是作为前端描述用的语言,实际计算则是通过底层的C/C++实现。由于Python能很方便地引入和使用C/C++项目和库,从而实现功能和性能上的扩展,这样的大规模计算中,让开发者更关注逻辑于数据本身,而从内存分配等繁杂工作中解放出来,是Python被广泛应用到机器学习领域的重要原因。

4、数据分析处理

数据分析处理方面,Python有很完备的生态环境。“大数据”分析中涉及到的分布式计算、数据可视化、数据库操作等,Python中都有成熟的模块可以选择完成其功能。对于Hadoop-MapReduce和Spark,都可以直接使用Python完成计算逻辑。这无论对于数据科学家还是对于数据工程师而言都是十分便利的。

5、服务器运维及其它小工具

Python对于服务器运维而言也有十分重要的用途。由于目前几乎所有Linux发行版中都自带了Python解释器,使用Python脚本进行批量化的文件部署和运行调整都成了Linux服务器上很不错的选择。Python中也包含许多方便的工具,从调控ssh/sftp用的paramiko,到监控服务用的supervisor,再到bazel等构建工具,甚至conan等用于C++的包管理工具,Python提供了全方位的工具集合,而在这基础上,结合Web,开发方便运维的工具会变得十分简单。

6、桌面程序

除此之外,Python也可以用于桌面软件开发(如sublime text等),甚至移动端开发(参看kivy)。Python简洁方便,各种工具包齐全的环境,能大幅度减少开发者的负担。著名的UI框架QT有Python语言的实现版本PyQT。Python简单易用的特性加上QT的优雅,可以很轻松的开发界面复杂的桌面程序,并且能轻松实现跨平台特性。

7、多媒体应用

可以用Python里面的PIL、Piddle、ReportLab 等模块对图象、声音、视频、动画等进行处理,还可以用Python生成动态图表和统计分析图表。另外,还可以利用PyOpenGl模块非常快速有效的编写出三维场景。

曾经为“阿贝斯(Abyss)”、“星际迷航(Star Trek)”、“Indiana Jones”等超级大片制作过特技和动画的工业光魔公司(Industrial Light)就采用Python进行商业动画制作。然而在很早以前,Python就是一种游戏编程的辅助工具,在《星球大战》的制作中扮演了重要的角色,现在,完全可以通过Python写出非常棒的游戏程序。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181114G11DO600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券