Python基础教程
上QQ阅读APP看书,第一时间看更新

1.1 初识Python

首先来了解一下什么是Pathon,它又有哪些特性。

1.1.1 什么是Python

Python于20世纪80年代末由荷兰人Guido Van Rossum(见图1-1)设计实现。

图1-1 Guido Van Rossum

1991年,Van Rossum公布了0.9.0版本的Python源代码。此版本已经实现了类、函数以及列表、字典和字符串等基本的数据类型。本书将在第2章介绍基本数据类型,第3章介绍函数,第4章介绍类。

0.9.0版本还集成了模块系统,Van Rossum将模块描述为Python主要的编程单元。

1994年,Python 1.0发布了。1.0版新增了函数式工具。关于函数式编程将在第6章介绍。

Python 2.0集成了列表推导式(List comprehension),具体情况将在第2章介绍。

Python 3.0也称为Python 3000或Python 3K。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下兼容。Python 3.0的主要设计思想就是通过移除传统的做事方式从而减少特性的重复。很多针对早期Python版本设计的程序都无法在Python 3.0上正常运行。为了照顾现有程序,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数。基于早期Python版本而能正常运行于Python 2.6并无警告的程序,可以通过一个2 to 3的转换工具无缝迁移到Python 3.0。本书内容基于Python 3.0。

经过多年的发展,Python已经成为非常流行的热门程序开发语言。到底有多流行?让我们看看知名的TIOBE开发语言排行榜。TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!、百度)以及Wikipedia、Amazon、YouTube统计出排名数据,用于反映编程语言的热门程度;但并不能说明一门编程语言好不好。该排行榜可以用来衡量开发者的编程技术能否跟上趋势,以及指导开发者应该及时掌握哪个编程语言。TIOBE的官方网址如下:

http://www.tiobe.com/

2015年2月的TIOBE排行榜显示,Python排名第8,如图1-2所示。

图1-2 2015年2月的TIOBE排行榜

可以看到,排名前10的编程语言依次是C、Java、C++、Objective-C、C#、JavaScript、PHP、Python、Visual Basic.NET和Visual Basic。很多流行的编程语言都没有入围前10,如Delphi、Perl、Transact-SQL等,可见Python的流行程度。

1.1.2 Python的特性

在学习Python语言之前,首先简要介绍一下Python的基本特性。

(1)简单易学:Python语言很简洁,语法也很简单,只需要掌握基本的英文单词就可以读懂Python程序。这对于初学者无疑是个好消息。因为简单就意味着易学,可以很轻松的上手。

(2)Python是开源的、免费的:开源是开放源代码的简称。也就是说,用户可以免费获取Python的发布版本,阅读、甚至修改源代码。很多志愿者将自己的源代码添加到Python中,从而使其日臻完善。

(3)Python是高级语言:与Java和C一样,Pathon不依赖任何硬件系统,因此属于高级开发语言。在使用Python开发应用程序时,不需要关注低级的硬件问题,如内存管理。

(4)高可移植性:由于开源的缘故,Python兼容很多平台。如果在编程时多加留意系统依赖的特性,Python程序无须进行任何修改,就可以在各种平台上运行。Python支持的平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acorn RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE和PocketPC等。

(5)Python是解释型语言:计算机不能直接理解高级语言,只能直接理解机器语言。使用解释型语言编写的源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。因此使用Python编写的程序不需要翻译成二进制的机器语言,而是直接从源代码运行,即运行Python程序时,由Python解释器将源代码转换为字节码(中间代码),然后再执行这些字节码。过程如图1-3所示。

图1-3 Python程序的运行过程

(6)Python全面支持面向对象的程序设计思想:面向对象是目前最流行的程序设计思想。所谓面向对象,就是基于对象的概念,以对象为中心,类和继承为构造机制,认识了解刻画客观世界以及开发出相应的软件系统。关于面向对象的程序设计思想的细节将在第4章介绍。

(7)高可扩展性:如果希望一段代码可以很快的运行,或者不希望公开一个算法,则可以使用C或C++编写这段程序,然后在Python中调用,从而实现对Python程序的扩展。

(8)支持嵌入式编程:可以将Python程序嵌入到C/C++程序中,从而为C/C++程序提供脚本能力。

(9)功能强大的开发库:Python标准库非常庞大,可以实现包括正则表达式、文档生成、单元测试、线程、数据库、浏览器、CGI、FTP、Email、XML、XML-RPC、HTML、加密、GUI(图形用户界面)等功能。除了标准库外,还有很多其他的功能强大的库,本书后面部分会介绍这些库的具体情况。