Python应用开发技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1.1 Python语言简介

使用Python语言编写的程序具有良好的可读性。相比于其他编程语言经常使用关键字以及标点符号,Python语言的语法特征更加接近伪代码。

Python是一种解释型的语言,使用Python语言编写的程序无须像C、C++等语言那样需要编译为二进制代码才能运行,Python程序是可以直接运行的。

Python是开源语言,是自由/开源软件(Free/Libre and Open Source Software,FLOSS)之一。使用者可以自由地发布Python程序的备份,阅读并修改其源代码,把Python的一部分用于新的开源软件中。目前,Python 已经被移植到了多种平台上,如果程序的运行不依赖于操作系统的环境特征,那么无须修改程序就可以在多个操作系统上运行,如 Windows、FreeBSD、Linux、Mac OS X等。

Python是面向对象的编程语言,既支持面向对象的编程,也支持面向过程的编程。与C++和Java相比,Python面向对象编程更加简单、高效。

Python是一种高级语言,在使用Python编程时无须考虑底层细节,如资源调度、内存管理等,因此被广泛地应用于程序开发,如简单的文字处理、Web开发、游戏开发等。

Python的Logo如图1.1所示。

图1.1 Python的Logo

1.1.1.1 Python的发展历程

Python是由荷兰数学和计算机科学研究学会的吉多·范罗苏姆(Guido van Rossum)于20世纪90年代初设计的。在设计Python语言时,吉多·范罗苏姆以ABC语言作为主要研究对象,并吸收了Modula-3的特点,融入了C与UNIX Shell的习惯。Python在后续的发展过程中,参考了不少其他语言的优点,如 C++、Algol-68、SmallTalk和Peal等高级语言及脚本语言等。

1995 年,吉多·范罗苏姆在弗吉尼亚州的国家创新研究公司(CNRI)继续他在 Python上的工作,并发布了多个版本。

2000年5月,吉多·范罗苏姆和Python的核心开发团队转到 BeOpen.com 并组建了BeOpen PythonLabs团队。同年10月,BeOpen PythonLabs团队转到Digital Creations(现为Zope Corporation)。

Python 2.0于2000年10月16日发布,增加了实现完整的垃圾回收,并且支持Unicode。

2001年,Python软件基金会(PSF)成立,是一个专为拥有Python相关知识产权而创建的非营利组织。

Python 3.0于2008年12月3日发布,此版本不完全兼容之前的Python源代码,但很多新特性后来也被移植到Python 2.6/2.7版本。

1.1.1.2 Python的特点

易于学习:Python 是一种代表简单主义思想的设计语言,关键字相对较少,虽然段落格式要求严格,但语法结构简单,具有伪代码特征,学习起来更加简单。

易于阅读:Python代码定义清晰,强制的缩进式代码具有极佳的可读性。

易于维护:Python 的成功在于它属于高级语言,在编程时无须考虑底层细节,使得代码维护相对容易。

丰富的标准库:Python的最大优势之一是拥有庞大的标准库,可以解决各类工作问题。

可移植:基于开源的本质,使得Python可以相对轻松地移植到许多平台。

可扩展:如果需要一段运行很快的关键代码,或者需要编写一些不愿公开的算法,可以先使用C或C++语言编写相关的代码,然后在Python程序中调用编译后的C或C++程序。

数据库支持:Python支持主要商业数据库的应用开发,并提供了相关的数据使用接口。

GUI编程:Python拥有许多第三方高质量的库,可以进行图形化界面开发,支持跨平台移植GUI。

可嵌入:Python代码可以嵌入C/C++程序,使得这些程序具有一定的“脚本化”能力。

1.1.1.3 Python的应用

Python作为一种强大的编程语言,因其简单易学而受到很多开发者的青睐。

系统编程:Python 提供了大量的 API,便于系统维护和管理,是很多系统管理员的理想编程语言。

图形处理:Python支持PIL、Tkinter等图形库,能方便进行图形处理。

数学处理:NumPy扩展大量的标准数学库接口。

文本处理:Python提供的re模块可支持正则表达式;Python还提供SGML、XML分析模块,可用于XML程序的开发。

数据库编程:通过遵循PythonDB-API(数据库应用程序编程接口)规范的模块,Python可以和SQL Server、Oracle、Sybase、DB2、MySQL、SQLite等数据库通信。Python自带的Gadfly模块可提供一个完整的SQL环境。

网络编程:Python提供了丰富的支持Sockets编程的模块,可用于快速开发分布式应用程序。很多大规模软件(如Zope、Mnet及BitTorrent.Google等)的开发都在使用Python。

Web编程:Python支持最新的XML技术。

多媒体应用:Python的PyOpenGL模块封装了OpenGL应用程序编程接口,能进行二维图像处理和三维图像处理。

游戏编程:Python的Pygame模块可用于游戏编程。

1.1.1.4 Python与人工智能

人工智能是计算机科学的一个分支,企图了解智能的本质,并生产出一种新的、能够以人类智能相似的方式做出反应的智能机器。人工智能的研究主要包括机器人、语言识别、图像识别、自然语言处理和专家系统等。

Python 不仅具备简洁、表达力强、易学等特点,还拥有丰富的第三方扩展库,受到很多领域专业人士的喜爱。Python有很多可用于机器学习、深度学习的基础框架,如NumPy、SciPy、Pandas、Scikit-Learn、PyBrain等库,非常适合人工智能和科学计算,成为人工智能领域首选的编程语言。