什么是Python,Python语言简介
从程序设计语言的发展过程来分,计算机程序设计语言可分为:机器语言、汇编语言和高级语言。Python 是一门高级语言。
Python 语言具有优雅的语法,高效率的数据结构,属于纯粹的开源自由软件,相对其他语言(比如 Java),具有语法简洁、易于学习、功能强大、可扩展性强、跨平台等诸多特点。
Python 也是一种扩充性强大的编程语言。它具有丰富和强大的库,能够把使用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。所以 Python 常被称为“胶水”语言。
就 Guido 本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是 ABC 语言并不成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在 Python 中避免这一错误。
之所以选中 Python(大蟒蛇的意思)作为该编程语言的名字,是因为 Guido 是一个名叫 Monty Python 的喜剧团体的爱好者。就这样,Python 在 Guido 手中诞生了。
Python 已经成为最受欢迎的程序设计语言之一。2011 年 1 月,它被 TIOBE 编程语言排行榜评为 2010 年度语言。自从 2004 年以后,Python 的使用率呈线性增长。2020 年 8 月,TIOBE 公布的编程语言指数排行榜上,Python 跃居第三。
作为人工智能的主要编程语言,从 2016 年开始,Python 的使用比例不断提升,目前能够达到 9.69%,如下图所示。
图 1 2020年8月TIOBE公布的编程语言指数排行榜
要详细了解 Python 的现状,可以访问 Python 官方网站:http://www.python.org。
由于 Python 语言的简洁性、易读性以及可扩展性,在国内外使用 Python 来教授程序设计课程的学校越来越多。
Python 具有的一些强大功能如下:
所以,既可以在 Windows 下编写 Python 程序,也可以轻松地在 Linux 等各种其他系统中编写和运行 Python 程序。
由于 Python 简洁的语法和数据类型系统,Python 中的 OOP 也变得极为简单。
作为开源软件,程序员可以获得 Python 源代码,以研究其内部细节,并可加以修改使其针对目标更加适用。也可以将 Python 嵌入系统或随产品一起发布。
目前业内几乎所有大中型互联网企业都在使用 Python,如 Google、百度、腾讯、汽车之家、美团等。互联网公司将 Python 广泛用于自动化运维、自动化测试、大数据分析、爬虫、Web 开发等领域。
Python的应用领域简要说明如下:
Python 语言具有优雅的语法,高效率的数据结构,属于纯粹的开源自由软件,相对其他语言(比如 Java),具有语法简洁、易于学习、功能强大、可扩展性强、跨平台等诸多特点。
Python 也是一种扩充性强大的编程语言。它具有丰富和强大的库,能够把使用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。所以 Python 常被称为“胶水”语言。
Python的发展历程
在 1989 年,Python 的创始人 Guido van Rossum 为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为 ABC 语言的一种升级(ABC 是由 Guido 参加设计的一种教学语言)。就 Guido 本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是 ABC 语言并不成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在 Python 中避免这一错误。
之所以选中 Python(大蟒蛇的意思)作为该编程语言的名字,是因为 Guido 是一个名叫 Monty Python 的喜剧团体的爱好者。就这样,Python 在 Guido 手中诞生了。
Python 已经成为最受欢迎的程序设计语言之一。2011 年 1 月,它被 TIOBE 编程语言排行榜评为 2010 年度语言。自从 2004 年以后,Python 的使用率呈线性增长。2020 年 8 月,TIOBE 公布的编程语言指数排行榜上,Python 跃居第三。
作为人工智能的主要编程语言,从 2016 年开始,Python 的使用比例不断提升,目前能够达到 9.69%,如下图所示。
图 1 2020年8月TIOBE公布的编程语言指数排行榜
要详细了解 Python 的现状,可以访问 Python 官方网站:http://www.python.org。
Python的特点
Python 具有以下特点。1) 简单易学
Python 的设计哲学是“优雅”“明确”“简单”。Python 开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。由于 Python 语言的简洁性、易读性以及可扩展性,在国内外使用 Python 来教授程序设计课程的学校越来越多。
2) 功能强大(可扩展、可嵌入)
Python 既属于脚本语言,也属于高级程序设计语言,所以,Python 既具有脚本语言(如 Perl、Tcl 和 Scheme 等)的简单、易用的特点,也具有高级程序设计语言(如 C、C++ 和 Java 等)的强大功能。Python 具有的一些强大功能如下:
- 动态数据类型:Python 在代码运行过程中跟踪变量的数据类型,不需要在代码中声明变量的类型,也不要求在使用之前对变量进行类型声明;
- 自动内存管理:良好的内存管理机制意味着程序运行具有更高的性能。Python程序员无须关心内存的使用和管理,Python会自动分配和回收内存;
- 大型程序支持:通过子模块、类和异常等工具,Python 可应用于大型程序开发;
- 内置数据结构:Python 提供了常用数据结构支持。例如,列表、字符串等都属于 Python 内置对象。同时,Python 也实现了各种数据结构的标准操作,如合并、分片、排序和映射等;
- 内置库:Python 提供丰富的标准库,从正则表达式匹配到网络编程等,使 Python 可以实现多种应用;
- 第三方工具集成:Python 很容易集成第三方工具,通过各种扩展包将其应用到各种不同领域;
- 可扩展性和可嵌入性:Python 提供了支持 C/C++ 的接口,可以方便地使用 C/C++ 来扩展 Python。Python 提供了 API,通过使用 API 函数可以编写 Python 扩展;
3) 具有良好的跨平台特性(可移植)
Python 是用 ANSI C 实现的。C 语言因为跨平台和良好的可移植性成为经典的程序设计语言。这意味着 Python 也具有良好的跨平台特性,可在目前所有的主流平台上编译和运行。所以,既可以在 Windows 下编写 Python 程序,也可以轻松地在 Linux 等各种其他系统中编写和运行 Python 程序。
4) 面向对象
面向对象(Object Oriented,OO)是现代高级程序设计语言的一个重要特征。多态、运算符重载、继承和多重继承等面向对象编程(Object Oriented Programming,OOP)的主要特征也在 Python 的类模块中得到了很好的支持。由于 Python 简洁的语法和数据类型系统,Python 中的 OOP 也变得极为简单。
5) Python是免费的开源自由软件
Python 遵循 GPL 协议,是免费的开源自由软件,不管是用于个人还是商业用途,开发人员都无须支付任何费用,也不用担心版权问题。作为开源软件,程序员可以获得 Python 源代码,以研究其内部细节,并可加以修改使其针对目标更加适用。也可以将 Python 嵌入系统或随产品一起发布。
Python的应用领域
作为一门优秀的程序设计语言,Python 被广泛应用于各种领域,从简单的文字处理,到网站和游戏开发,再到数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域,都能见到 Python 的身影。目前业内几乎所有大中型互联网企业都在使用 Python,如 Google、百度、腾讯、汽车之家、美团等。互联网公司将 Python 广泛用于自动化运维、自动化测试、大数据分析、爬虫、Web 开发等领域。
Python的应用领域简要说明如下:
- 系统编程:Python 提供 API(Application Programming Interface,应用程序编程接口),能方便地进行系统维护和管理,是很多系统管理员理想的编程工具;
- 图形处理:Python 内置了 Tkinter(Python 默认的图形界面接口)和标准面向对象接口 Tk GUI API,可以进行程序 GUI 设计。同时有 PIL 等图形库支持,使其能够方便地进行图形处理;
- 数据处理:Python 的 NumPy 扩展库提供了大量标准数学库的接口,例如矩阵对象、标准数学库等。SciPy 和 Matplotlib 扩展库也为 Python 提供了快速数组处理、数值运算以及绘图功能。众多的扩展库使 Python 十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序;
- 文本处理:Python 提供的 re 模块能支持正则表达式,还提供 SGML,XML 分析模块,许多程序员利用 Python 进行 XML 程序的开发;
- 数据库编程:Python 提供了对目前主流的数据库系统的支持,程序员可通过遵循 Python DB-API(数据库应用程序编程接口)规范的模块与 MySQL、Oracle、Microsoft SQL Server、Sybase、DB2、SQLite 等数据库通信。Python 自带一个 Gadfly 模块,提供了一个完整的 SQL 环境;
- 网络编程:Python 提供了标准的 Internet 模块,使 Python 能够轻松实现网络编程,例如,通过套接字(Socket)进行网络通信;
- Web编程:Python 支持许多 Web 开发工具包,支持最新的 XML 技术。使得 Python 能够快速构建功能完善和高质量的网站。很多大规模软件开发计划,例如 Zope,Mnet,BitTorrent 及 Google 都在广泛地使用它;
- 多媒体应用:Python 的 PyOpenGL 模块封装了“OpenGL 应用程序编程接口”,能进行二维和三维图像处理。PyGame 模块可用于编写游戏软件;
- Python 广泛应用于游戏开发、人工智能、数据分析等领域。