关于问题python 主要用于什么开发?一共有 2 位热心网友为你解答:
【1】、来自网友【华为云开发者联盟】的最佳回答:
为什么这么多人在学 Python 呢?很多小白都听说 Python 很火,简单易学,学起来很容易,学习周期短,可是为啥要学 Python 呢?,下面谈谈我对 Python 的感悟。
在 PC 时代大量的嵌入式的设备,底层的代码,底层原理,以及底层逻辑运用,以及桌面的应用都是用 C、C++实现的,毋庸置疑它们是最接近底层,对底层有着强大的解释说服力,也是最早的、最快的。随着 2000 年电商的大规模的兴起,多数人融入到这个大家庭中,逐渐地从 PC 时代过度到互联网时代,Java 开始王者归来,再加上 2010 移动互联网的爆发 Android 开始风靡起来,Java 更是如日中天,走向了辉煌。那我们现在为什么要学习 Python 呢?Python 到底是用来干什么的?
1、Web 开发
Python 的诞生历史比 Web 还要早,由于 Python 是一种解释型的脚本语言,开发效率高,所以非常适合用来做 Web 开发,大大提高了做 web 开发人员的效率。
Python 有上百种 Web 开发框架,有很多成熟的模板技术,选择 Python 开发 Web 应用,不但开发效率高,而且运行速度快,加快了时代的发展。
常用的 web 开发框架有:Django、Flask、Tornado 等。
许多知名的互联网企业或者小型公司将 Python 作为主要开发语言:豆瓣、知乎、果壳网、Google、NASA、YouTube、Facebook……
由于后台服务器的通用性,除了狭义的网站之外,很多 App 和游戏的服务器端也同样用 Python 实现,来运行,完成相应的工作。
一个 Web 应用的本质就是:
- 浏览器发送一个 HTTP 请求;
- 服务器收到请求,生成一个 HTML 文档;
- 服务器把 HTML 文档作为 HTTP 响应的 Body 发送给浏览器;
- 浏览器收到 HTTP 响应,从 HTTP Body 取出 HTML 文档并显示。
所以,最简单的 Web 应用就是先把 HTML 用文件保存好,用一个现成的 HTTP 服务器软件,接收用户请求,从文件中读取 HTML,返回。Apache、Nginx、Lighttpd 等这些常见的静态服务器就是干这件事情的,完成这些事情的。
如果要动态生成 HTML,就需要把上述步骤自己来实现。不过,接受 HTTP 请求、解析 HTTP 请求、发送 HTTP 响应都是苦力活,如果我们自己来写这些底层代码,还没开始写动态 HTML 呢,就得花个把月去读 HTTP 规范。
正确的做法是底层代码由专门的服务器软件实现,我们用 Python 专注于生成 HTML 文档。因为我们不希望接触到 TCP 连接、HTTP 原始请求和响应格式,所以,需要一个统一的接口,让我们专心用 Python 编写 Web 业务。
这个接口就是 WSGI:Web Server Gateway Interface。(Web 服务器网关接口)
wsgi 就是一种规范,它定义了使用 web 应用程序与 Python 编写的 web 服务器程序之间的接口格式。无论多么复杂的 Web 应用程序,入口都是一个 WSGI 处理函数。HTTP 请求的所有输入信息都可以通过 environ 获得,HTTP 响应的输出都可以通过 start_response()加上函数返回值作为 Body。
WSGI 接口定义非常简单,它只要求 Web 开发者实现一个函数,就可以响应 HTTP 请求。我们来看一个最简单的 Web 版本的“Hello,web!”:
上面的 application()函数就是符合 WSGI 标准的一个 HTTP 处理函数,它接收两个参数:
- environ:一个包含所有 HTTP 请求信息的 dict 对象;
- start_response:一个发送 HTTP 响应的函数。
在 application()函数中,调用:
就发送了 HTTP 响应的 Header,注意 Header 只能发送一次,也就是只能调用一次 start_response()函数。start_response()函数接收两个参数,一个是 HTTP 响应码,一个是一组 list 表示的 HTTP Header,每个 Header 用一个包含两个 str 的 tuple 表示。
通常情况下,都应该把 Content-Type 头发送给浏览器。其他很多常用的 HTTP Header 也应该发送。
然后,函数的返回值‘<h1>Hello, web!</h1>‘将作为 HTTP 响应的 Body 发送给浏览器。
有了 WSGI,我们关心的就是如何从 environ 这个 dict 对象拿到 HTTP 请求信息,然后构造 HTML,通过 start_response()发送 Header,最后返回 Body。
了解了 WSGI 框架,我们发现:其实一个 Web App,就是写一个 WSGI 的处理函数,针对每个 HTTP 请求进行响应。
但是如何处理 HTTP 请求不是问题,问题是如何处理 100 个不同的 URL。
由于用 Python 开发一个 Web 框架十分容易,所以 Python 有上百个开源的 Web 框架。各种 Web 框架的优缺点自己去了解一下就可以了,直接选择一个比较流行的 Web 框架——Flask 来使用。
除了 Flask,常见的 Python Web 框架还有:
- Django:全能型 Web 框架;
- web.py:一个小巧的 Web 框架;
- Bottle:和 Flask 类似的 Web 框架;
- Tornado:Facebook 的开源异步 Web 框架。
做一个游戏
2、网络爬虫
许多人对编程的热情始于好奇,终于停滞,小有成就就止步于此。
距离真枪实干做开发有技术差距,也无人指点提带,也不知当下水平能干嘛?就在这样的疑惑循环中,编程技能止步不前,而爬虫是最好的进阶方向之一。
网络爬虫是 Python 比较常用的一个场景,国际上,google 在早期大量地使用 Python 语言作为网络爬虫的基础,带动了整个 Python 语言的应用发展。以前国内很多人用采集器搜刮网上的内容,现在用 Python 收集网上的信息比以前容易很多了,如:
- 从各大网站爬取商品折扣信息,比较获取最优选择;
- 对社交网络上发言进行收集分类,生成情绪地图,分析语言习惯;
- 爬取网易云音乐某一类歌曲的所有评论,生成词云;
- 按条件筛选获得豆瓣的电影书籍信息并生成表格……
应用实在太多,几乎每个人学习爬虫之后都能够通过爬虫去做一些好玩有趣有用的事。
例子:爬取网络上的歌曲
3、人工智能
人工智能是现在非常火的一个方向,AI 热潮让 Python 语言的未来充满了无限的潜力。现在释放出来的几个非常有影响力的 AI 框架,大多是 Python 的实现,为什么呢?
因为 Python 有很多库很方便做人工智能,比如 numpy, scipy 做数值计算的,sklearn 做机器学习的,pybrain 做神经网络的,matplotlib 将数据可视化的。在人工智能大范畴领域内的数据挖掘、机器学习、神经网络、深度学习等方面都是主流的编程语言,得到广泛的支持和应用。
人工智能的核心算法大部分还是依赖于 C/C++的,因为是计算密集型,需要非常精细的优化,还需要 GPU、专用硬件之类的接口,这些都只有 C/C++能做到,所有 c/c++和 P 相结合就可以实现人工智能。
4、Python 的其他应用举例
系统编程:提供 API,能方便进行系统维护和管理,Linux 下标志性语言之一,是很多系统管理员理想的编程工具。
图形处理:有 PIL、Tkinter 等图形库支持,能方便进行图形处理。
数学处理:NumPy 扩展提供大量与许多标准数学库的接口。
文本处理:Python 提供的 re 模块能支持正则表达式,还提供 SGML,XML 分析模块,许多程序员利用 Python 进行 XML 程序的开发。
数据库编程:程序员可通过遵循 PythonDB-API(数据库应用程序编程接口)规范的模块与 MicrosoftSQLServer,Oracle,Sybase,DB2,MySQL、SQLite 等数据库通信。Python 自带有一个 Gadfly 模块,提供了一个完整的 SQL 环境。
网络编程:提供丰富的模块支持 sockets 编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如 Zope,Mnet 及 BitTorrent.Google 都在广泛地使用它。
Web 编程:应用的开发语言,支持最新的 XML 技术。
多媒体应用:Python 的 PyOpenGL 模块封装了“OpenGL 应用程序编程接口”,能进行二维和三维图像处理。PyGame 模块可用于编写游戏软件。
黑客编程: Python 有一个 hack 的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。
以上内容分享自华为云社区《【云驻共创】你知道在未来 Python 主要的运用途径和领域吗?》,作者:楠羽。
【2】、来自网友【IT 讲坛】的最佳回答:
python 的兴起主要是由于近年来人工智能和 AI 的兴起,导致这个沉睡了 20 年之久的语言渐渐映入人们的眼帘。既然 python 这么火,那么我们可以拿它来做什么呢?下面我们来探讨下:
python
用于 web 开发
Python 虽然说只是个脚本语言,但是他也是可以搭建 web 项目的,并且 python 后台连接数据库等也是极其的方便,可以减少代码量。另外最近在 web 中比较流行的框架例如:Django 和 Flask,都是基于 Python 框架得。这些框架会使得你对接前端的 Python 开发后台效率翻倍。这里给你个建议,这两个框架选择的话,最好用 Flask,因为这个更加灵活,支持多样化的定制。
数据科学
数据科学主要包括三部分组成:机器学习、数据分析和数据可视化。python 的兴起主要就是因为数据科学这一块,利用 python 进行大数据的分析,以及可视化是再适合不过的。加之 scipy、numpy、scikit-learn 这三个数据包,更是大大的方便了不少。现在利用 python 做爬虫也是最佳的选择,虽然 java 也是可以做到,但是 java 的 api 未免太过繁琐,相反,利用 Python 的话,可以达到事半功倍的效果。
除此之外,python 还可以用来写一些脚本,开发游戏,桌面应用等。总之,Python 可以开发很多东西,已知的,未知的领域将来都有可能用到。对于 python 的未来我们还是要满怀期待和憧憬。
以上就是我的回答,希望能对你有所帮助。谢谢。