Python基础之Python简介
前言:科技在发展,时代在进步,在互联网时代,更新换代的速度非常快,我们必须得跟紧时代的步伐,否则将会被社会所淘汰。近几年里,人工智能突飞猛进,导致Python这门编程语言非常火爆,那么下面介绍介绍Python这门编程语言,看看它到底为什么火爆?
目录:
- 一、Python简介
- 二、Python发展史
- 三、Python特点
- 优点
- 缺点
- 四、Python应用领域
- 云计算
- WEB开发
- 人工智能
- 自动化运维
- 大数据
- 金融
- 网络爬虫
- 图形GUI
- 游戏开发
- 五、Python行业应用
一、Python简介
Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
Python是一种解释型语言:这意味着开发过程中没有了编译这个环节,每执行一次程序都需要将源代码转换为机器语言,然后计算机来执行。类似于PHP和Perl语言。
Python是弱类型语言:声明变量不需要添加数据类型直接写变量名即可。
Python是交互式语言:可以在一个Python提示符>>>后直接执行代码。
Python是面向对象语言:Python支持面向对象的风格或代码封装在对象的编程技术。
Python是初学者的语言:Python语言入门门槛非常低,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到浏览器再到游戏。
二、Python发展史
Python的创始人:Guido van Rossum(来自荷兰);之所以选中Python(蟒蛇)作为该编程语言的名字,是因为他是Monty Python喜剧团体的爱好者。Python语言诞生于1989年。作者前身也是C++程序员,之前也参加设计了一种叫ABC的教学语言,就Guido本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido认为是其非开放造成的(相对封闭的开发语言、扩展性、推广性相对不太成功)。Guido决心在Python中避免这一错误。同时,他还想实现在ABC中闪现过但未曾实现的东西。Python源代码同样遵循GPL(GNU General Public License)协议。
版本:
- Python 1.0 :1994年1月发布,主要新功能是lambda, map, filter和reduce
- Python 2.0 :2000年10月发布,主要新功能是内存管理和循环检测垃圾收集器以及对Unicode的支持。然而,尤为重要的变化是开发的流程的改变,Python此时有了一个更透明的社区。Python 2.7版本是Python 2.x的最后一个版本,支持部分Python 3.1语法。
- Python 3.0 :2008年12月发布,Python3.x版本向后不再兼容Python2.x版本,这意味着Python3.x版本可能无法运行Python2.x版本的代码。Python 3.x代表着Python语言的未来。
三、Python特点
优点
- 易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
- 易于阅读:Python代码定义的更清晰。
- 易于维护:Python的成功在于它的源代码是相当容易维护的。
- 一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
- 互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
- 可移植:基于其开放源代码的特性,Python已经被移植(使其工作)到许多平台。
- 强大的功能:从字符串处理到复杂的3D图形编程,Python借助扩展模块都可以轻松完成。
- 可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
- 数据库:Python提供所有主要的商业数据库的接口。
- GUI编程:Python支持GUI可以创建和移植到许多系统调用。
- 可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得”脚本化”的能力。
缺点
- 单行语句和命令行输出问题:很多时候不能将程序代码连写成一行。
- 运行速度慢:Python程序比Java、C、C++等程序的运行效率都要慢。
- 源代码加密困难:不像编译型语言的源程序会被编译成可执行程序,Python直接运行源程序,因此对源代码加密比较困难。
四、Python应用领域
云计算
云计算最火的语言, 典型应用OpenStack
WEB开发
Python非常便于功能扩展;所以形成了许多web开发框架,如:Django、Flask等。现在众多大型网站均为Python开发,如:Youtube, Dropbox, 豆瓣。
人工智能
基于大数据分析和深度学习而发展出来的人工智能本质上已经无法离开Python的支持,目前世界优秀的人工智能学习框架如Google的TransorFlow 、FaceBook的PyTorch以及开源社区的神经网络库Karas等是用Python实现的,甚至微软的CNTK(认知工具包)也完全支持Python,而且微软的Vscode都已经把Python作为第一级语言进行支持。
自动化运维
Python在与操作系统结合以及管理中非常密切,目前所有Linux发行版中都集成Python,且对于Linux中相关的管理功能都有大量的模块可以使用,目前在几乎所有互联网公司,自动化运维的标配就是Python+Django/Flask,另外,在虚拟化管理方面已经是事实标准的openstack就是Python实现的,所以Python是所有运维人员的必备技能。
大数据
Python相对于其它解释性语言最大的特点是其庞大而活跃的科学计算生态,在数据分析、交互、可视化方面有相当完善和优秀的库(Python数据分析栈:Numpy Pandas Scipy Matplotlip Ipython),并且还形成了自己独特的面向科学计算的Python发行版Anaconda,而且这几年一直在快速进化和完善,对传统的数据分析语言如:R MATLAB SAS Stata形成了非常强的替代性。
金融
量化交易,金融分析。
在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高,因为作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很nice,生产效率远远高于c,c++,java,尤其擅长策略回测。
网络爬虫
Python语言很早就用来编写网络爬虫。Google等搜索引擎公司大量地使用Python语言编写网络爬虫。从技术层面上讲,Python提供有很多服务于编写网络爬虫的工具,例如:urllib、Selenium 和 BeautifulSoup等,还提供了一个网络爬虫框架Scrapy。
图形GUI
PIL、Tkinter、PyQT, WxPython等图形库支持,能方便进行图形处理。
游戏开发
使用Python编写游戏的逻辑,Python支持更多的特性和数据类型。Python语言可以实现游戏引擎。
五、Python行业应用
- CIA:美国中情局网站就是用Python开发的。
- NASA:美国航天局(NASA)1994年起把python作为主要开发语言(使用Python进行数据分析和运算)
- Google:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发。
- Facebook:大量的基础库均通过Python实现的。
- YouTube:世界上最大的视频网站YouTube就是用Python开发的。
- Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载。
- Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用Python开发
- Redhat:世界上最流行的Linux发行版本中的yum包管理工具就是用Python开发的。
- 豆瓣:公司几乎所有的业务均是通过Python开发的。
- 知乎:国内最大的问答社区,通过Python开发(国外Quora)
还没有评论,来说两句吧...