Python是什么?Python语言应用场景Python语言发展历史Python语言发明者——Python语言之父编程语言风向标——TIOBE 编程社区指数如何高效的学习Python语言?Python是什么?
Python是一种计算机编程语言。
语言的概念来自于现实社会,我们通常使用的汉语、英语等语言用于人类之间的交流,称为自然语言
。顾名思义,Python是一种用于人类与计算机之间进行交流的计算机语言。编程语言
是指用于程序设计软件开发的语言,是计算机语言中最重要的一个分支。计算机语言除了编程语言之外,还有标记语言
,比如用于设计网页的HTML(超文本标记语言)就是最常见的标记语言。根据编程语言的某些特性不同,编程语言又可分为不同的子类型,详见下表:
高级
与低级语言
:根据编程语言的语法与人类自然语言的相似程度的高低,编程语言可以分为高级与低级语言。高级语言更接近人类自然语言的表达逻辑,更利于编写、阅读,基本都有良好的跨平台特性,不过因为冗余代码多,运行效率较低,与之相反的低级语言,其语法更接近计算机本身的运算逻辑,难以阅读理解与编写,跨平台特性较差,但是冗余代码少,运行效率高。Python属于高级语言
。基本上除了汇编语言,其余均为高级语言(比如C、C++、C#、Java等),编程语言的发展方向是从低级到高级,越来越接近人类的自然语言。编译型
与解释型
语言:将代码编译成计算机CPU能够直接识别的机器码再运行的语言是编译性语言,比如C、C++等都是编译型语言。将代码由解释器直接解释运行的。比如JavaScript、Shell、Perl等都是解释型语言。Python属于解释型语言
。不过需要注意的是,编译型与解释型并非语言本身的特性,而是执行方式。比如C语言也可以使用TCC工具解释运行。动态
与静态
数据类型语言:不需要声明变量的类型,在运行时编译器自动判断其数据类型的是动态语言,反之需要在编译之前确定其类型的是静态语言。Python属于动态语言
。面向过程
与面向对象
语言:使用子程序实现其功能的语言称为面向过程语言,C是面向过程语言,使用对象实现其功能的语言称为面向对象语言,Java、C#都是面向对象的编程语言。Python属于面向对象语言,同时也支持面向过程特性。
C++也是如此。开源
与闭源
语言:根据是否开放语言实现的源代码,可分为开源与闭源语言。Java 2006年开源。C#最初是闭源的,2014年开源。Python属于开源语言。Python 源代码遵循 GPL(GNU General Public License)协议。
像Perl语言一样。综上所述:
Python是一种开源的、解释型、面向对象、动态数据类型的计算机高级程序设计语言。
Python语言应用场景虽然Python具有很久的历史,但流行却是因为人工智能,Python是人工智能行业最方便的编程语言。其他的常用语言有C++、Java,但都不如Python。尽管在运行效率方面比不上前两者,但是编写方便符合这个行业情况,各种扩展库对人工智能行业最为便捷。
Python有以下五大应用场景:
人工智能
:包括机器学习、神经网络、深度学习等人工智能领域,Python是最方便快捷的主流编程语言。数据分析:
大量的数据是机器学习的前提,对大数据的处理分析,Python是主流语言之一。网络爬虫:
Python语言中的Scripy爬虫框架应用非常广泛,爬取的数据是大数据获取的主要来源。Web开发:
Python使用Django,还有Tornado,Flask框架,Web开发效率相较其他语言非常高。自动化测试:
Python是首选编程语言,Saltstack和Ansible等自动化平台都非常方便。另外Python也可用于桌面软件开发(PyQt、PySide、wxPython、PyGTK都是优秀的图形界面库)、科学计算(NumPy,SciPy,Matplotlib库可以用于科学计算)、游戏开发(有pygame库,但主要是实现交互逻辑,性能方面还是使用C++等语言实现)。
在国内,大家比较熟悉的网站很多都是用Python开发的,比如百度、阿里、知乎、豆瓣、新浪、网易、土豆等。在国外,Google、YouTube、Yahoo、Meta(原Facebook)、NASA等都在内部大量地使用Python。
Python语言发展历史Python(中文译名
派森
)由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。1989年圣诞节期间,Guido van Rossum在阿姆斯特丹,为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python(大蟒蛇)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提·派森的飞行马戏团》(Monty Pythons Flying Circus)。
以下重要版本的发布年份:
1991年,Python 的代码对外公布,此时版本为 0.9.01994年,Python 1.0 发布2000年,Python 2.0 发布2001年,Python 2.1 基于 Python 软件基金会协议(Python Software Foundation (PSF))发布Python 2.2 发布于2001年Python 2.3 发布于2003年Python 2.4 发布于2004年Python 2.5 发布于2006年Python 2.6 发布于2008年2008年,Python 3.0 发布。从此Python分为不兼容的两个版本Python2和Python3。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。Python 3.1 发布于2009年Python 2.7 发布于2010年Python 3.2 发布于2011年Python 3.3 发布于2012年Python 3.4 发布于2014年Python 3.5 发布于2015年Python 3.6 发布于2016年Python 3.7 发布于2018年,2018年3月,该语言作者在邮件列表上宣布Python 2.7将于2020年1月1日终止支持。Python 3.8 发布于2019年Python 3.9 发布于2020年Python 2.7.18 发布于2020年。被确认为最后一个Python2版本。Python 3.10 发布于2021年截至2022年3月26日,最新版本是2022年3月22日发布的Python 3.10.4。
Python语言发明者——Python语言之父某种编程语言的设计发明者被称为这种编程语言的语言之父
,Python语言的发明者即Python语言之父,C语言的发明者即C语言之父,同理,Java语言的发明者即Java语言之父,等等。Python语言之父是Guido van Rossum
,中文译名吉多·范罗苏姆
(百度百科、360百科采用此译名)或贵铎·范·罗萨姆
(《Python核心编程》出版书籍采用此译名。)Python语言之父
Guido van Rossum于1956年出生于荷兰,1982年在阿姆斯特丹大学获得数学和计算机科学硕士学位,1995年移居美国,2005年12月加入谷歌,2006年被美国计算机协会认定为著名工程师。2020年11月12日,已经退休的他由于退休生活无聊宣布加入微软。
相对以下其他著名的编程语言之父,Python语言之父的头发是最为浓密的,这也从侧面证明Python语言的简单,Python语言的口号是“
人生苦短,我用Python
”。C语言之父 Dennis Ritchie(丹尼斯?里奇)
C++语言之父 Bjarne Stroustrup(本贾尼·斯特劳斯特卢普)
Java语言之父 詹姆斯·高斯林 (James Gosling)
C#、TypeScript、Delphi语言之父 Anders Hejlsberg(安德斯·海尔斯伯格)
PHP语言之父 Rasmus Lerdorf(拉斯马斯·勒德尔夫)
编程语言风向标——TIOBE 编程社区指数对于编程学习人员来说,TIOBE(www.tiobe.com)是非常重要的一个网站。
下面是TIOBE官网对其自身的介绍翻译:
TIOBE 编程社区指数(The TIOBE Programming Community index)是衡量编程语言流行度的指标。该榜单每月更新一次,指数基于全球技术工程师、课程和第三方供应商的数量。包括流行的搜索引擎,如谷歌、必应、雅虎、维基百科、亚马逊、YouTube 和百度都用于指数计算。具体的计算方式参见:
https://www.tiobe.com/tiobe-index/programming-languages-definition/。
今天(2022年3月26日),
排行榜前三甲依次是Python(14.26%)、C(13.06%)、Java(11.19%)。
其后依次是第四名C++(8.66%)、第五名C#(5.92%)、第六名Visual Basic(5.77%)、第七名是JavaScript(2.09%)、第八名PHP(1.92%)、第九名Assembly Language(1.90%)、第十名SQL(1.85%)……更详细的榜单可以通过官网查看。从2003年开始,TIOBE每年都会选出
上一年增长率最高
的编程语言,称为年度编程语言(
Programming Language of the Year)。Python是获得此称号次数最多
的语言,获得年份为2007年、2010年、2018年、2020年和2021年。C语言排名第二,获得三次(2008年、2017年、2019年),Go、Java、Objective-C均获得两次,JavaScript、Transact-SQL、Ruby、PHP、C++各获得一次。值得注意的是,TIOBE 指数并不代表语言的好坏,开发者可以使用该榜单检查自身的编程技能是否需要更新,或者在开始构建新软件时对某一语言做出选择。
如何高效的学习Python语言?南宋诗人陆游《冬夜读书示子聿》:“纸上得来终觉浅,绝知此事要躬行。”
这个忠告用于学习编程语言也是非常贴切的。编程语言是一门实践性非常强的学科,所以必须将代码敲出来运行,这种直接感受程序的运行效果是一种非常高效且愉悦的学习方式。
在学习初期,不必学习过多的理论知识,而应直接进行编程实践,等到水平足够高时,再来学习理论性的知识,才可以达到更高的编程成就。