第1章Python编程入门
1.1 Python语言概述
编程语言也称为计算机语言,计算机每执行一次动作、一个步骤,都是按照已经用计算机语言编写好的程序来执行。程序是计算机要执行的指令集合,是用某种编程语言来编写的。如今编程语言多种多样,Python就是众多编程语言之一。
Python是一种高层次的编程语言,它的设计具有很强的可读性,类似于 PHP和 Perl语言。它在开发过程中没有编译环节,意味着用户可以在一个 Python终端直接执行每行代码。它支持面向对象的代码设计,支持广泛的应用程序开发,能实现从简单的文字处理到 WWW浏览器再到游戏等不同应用领域的软件开发。对非计算机专业人士而言,选择 Python编程语言的学习成本低、效率高。本节介绍 Python的发展历史和特点。
1.1.1 Python的发展历史
Python由荷兰人 Guido van Rossum(吉多 范 罗苏姆)于 1989年底出于娱乐目的而设计,Guido希望 Python语言能够像 C语言(当时很流行的编程语言)那样全面调用计算机的功能接口,且易阅读、易使用、易记忆、易学习、易拓展,并能以此来激发人们学习编程的兴趣。
1991年,第一个 Python解释器诞生。它是用 C语言实现的,并能调用 C语言库。刚开始,Python 就包括了类( class)、函数( function)、异常处理(exception)、表(list)、字典 (dictionary)在内的核心功能和数据类型,以及以模块( module)为基础的拓展系统。 Python语法很多来自 C语言,如赋值、定义函数等。同时, Python又加入了一些富有特色的语法规则(如强制缩进等),让 Python代码更容易阅读。
Python将许多底层细节隐藏,并凸显出逻辑层面的编程思考,让程序员可以有更多的时间来思考程序的逻辑,而不是具体的实现细节。这一特征吸引了广大的程序员,也是 Python流行的原因之一。
昀初的 Python完全由 Guido个人开发,后来 Python吸引了不同领域的开发者,他们将各自领域的优点集于 Python,逐步丰富和完善了 Python的功能和开发生态。 2008年12月, Python发布了 3.0版本(也称为 Python 3000,或简称 Py3k)。Python 3.0是一次重大的升级,没有考虑与之前版本的兼容,加入了数据类、枚举、路径遍历、异步处理、输入预提示、解包扩展等新特性。 Python 3.0 因其简洁、方便,受到了绝大部分开发者的认同。随后, Python团队不断加入新功能,推出了后续升级版本,如表 1-1所示。
表 1-1 Python版本发布时间
到今天,Python的框架已经确立。 Python语言以对象为核心组织代码,自动进行内存回收。Python支持解释运行,并能调用 C语言库进行拓展。 Python拥有第三方库中的模块,如 Django、wxpython、numpy、matplotlib、PIL等,这些标准库和第三方库将 Python升级成了一种具有完整开发生态的流行编程语言。
1.1.2 Python的特点
Python是一种计算机程序设计语言,也是一种面向对象的动态类型语言,昀初用于编写自动化脚本。随着版本的不断更新和语言新功能的添加,它越来越多地用于独立、大型项目开发。通常来说 Python有如下特点。
1.简单
Python是一种代表简单主义思想的语言。阅读一个良好的 Python程序就感觉像在读一篇英语文章一样,它使你能够专注于解决问题而不是去搞明白语言本身。
2.易学
因为 Python有极其简单的说明文档,所以 Python容易上手。
3.速度快
Python的底层是用 C语言编写的,很多标准库和第三方库也都是用 C语言编写的,运行速度非常快。
4.免费、开源
Python是 FLOSS(自由/开放源码软件)之一。使用者可以不受限制地阅读它的源代码,对它做改动,或把它的一部分用于新的软件中。
5.高层语言
用 Python语言编写程序时,无需考虑诸如如何管理你的程序使用内存一类的底层细节。
6.可移植性
由于它的开源本质, Python 已经被移植到许多平台上(经过改动就能工作在不同平台上)。这些平台包括 Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、 AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、PlayStation、Symbian,以及 Google基于 Linux开发的 Android平台。
7.解释性
一个用编译性语言(如用C或C++编写的程序)可以从源文件( C或C++语言)转换到一段计算机语言对应的代码(二进制代码,即 0和 1)。这个过程通过编译器和不同的标记、选项来完成。
Python 和编译性语言(如 C或 C++)对应的程序执行过程不同,在计算机内部, Python解释器先把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机的机器语言并运行。从而使用 Python更加简单,Python程序更加易于移植。
8.面向对象
Python既支持面向过程的编程,也支持面向对象的编程。在面向过程的语言中,程序是由过程或可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。
9.可扩展性
如果需要一段关键代码运行得更快或者希望某些算法不公开,可以将部分程序用 C或 C++编写,然后在 Python程序中使用它们。
10.可嵌入性
可以把 Python嵌入 C或 C++程序,从而向程序用户提供脚本功能。
11.模块丰富
Python标准库中模块很庞大,它们可以处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、 CGI(通用网关接口)、电子邮件、XML(可扩展标记语言)、HTML(超文本标记语言)、密码系统、 GUI(图形用户界面)和其他与系统有关的操作。 Python功能齐全,除了标准库的模块以外,还有许多第三方库中的模块,如 wxPython、Twisted等。
12.代码规范
Python采用强制缩进的方式使得代码具有较好可读性。
基于以上特点,国内外用 Python做科学计算的研究机构日益增多,一些知名大学已经采用 Python来教授程序设计课程。例如,卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用 Python语言讲授。众多开源的科学计算软件包都提供了 Python的调用接口,如著名的 OpenCV(计算机视觉)、 VTK(三维可视化)、ITK(医学图像处理)。 Python专用的科学计算扩展模块就更多了,例如经典的科学计算扩展模块: NumPy、SciPy和 matplotlib,它们分别为 Python提供了快速数组处理、数值运算及绘图功能。因此 Python语言及其众多的扩展功能所构成的开发环境,十分适合处理数据、制作图表,甚至开发科学计算应用程序。
1.2 Python开发环境
用 Python进行程序开发,需要安装相应的开发工具和 Python解释器。因为 Python是跨平台的,所以在安装之前,先要确定在哪一个操作系统平台上安装。目前常用的是 Windows、Mac OS和 Linux三大操作系统,其中 Windows使用的人数昀多。本书主要介绍 Windows系统中 Python运行环境搭建与程序开发。
1.2.1 安装 Python解释器
我们编写程序代码,就是要让计算机按照我们的想法去工作。程序代码是用编程语言编写的,计算机只能听懂机器指令,无法理解 Python编写的程序代码。所以,我们需要一个翻译软件,把 Python语言翻译成计算机 CPU能理解的机器指令,这个翻译软件就是 Python解释器。
用户运行 Python程序,就是运行 Python解释器,并让解释器读取程序员写好的 Python代码文件,把 Python代码翻译成机器指令让计算机 CPU执行,这个原理如图 1-1所示。
图 1-1 Python解释器工作原理
没有 Python解释器,Python代码是没有办法运行的。学习 Python的第一步就是安装 Python解释器。以下介绍在 Windows系统上如何安装 Python解释器。
(1)到Python的官网(https)下载相应操作系统平台的 Python解释器安装文件,如图 1-2所示。
(2)安装 Python解释器,运行下载的.exe文件,显示如图 1-3所示的 Python安装界面。选中界面下方的“Add Python 3.6 to PATH”复选框,这样安装程序就会自动将 Python的路径加到 PATH环境变量中。单击“ Install Now”或“Customize installation”即可开始安装,安装完成后出现如图 1-4所示的安装完成界面。
图 1-2 Python 3.6.3下载页面
图 1-3 Python解释器安装界面
图 1-4 Python解释器安装完成界面
(3)检验安装成功并执行 Python命令。具体操作是:打开命令窗口输入 Python命令 (Python对应目录已加入 PATH环境变量中了,直接在命令行中输入“ Python”就行了,不必写上完整的 Python.exe的路径),出现 Python版本提示则表示安装成功,如图 1-5所示。可以在“>>>”符号后面直接输入 Python代码按 Enter键执行,如图 1-6所示为输入了“100+100”后执行的效果。若要回到 Windows命令行中,可以输入语句 exit()并按 Enter键执行。
图 1-5 测试 Python解释器安装成功
图 1-6 解释器执行 Python代码
图 1-6中的 Python代码执行方式也称为交互式命令行,它主要用来快速执行一些简单的代码,而关闭命令窗口后输入的代码是无法保存的。在程序开发过程中,用户需要编写代码并把它存储到文件中,再调用 Python解释器执行,这就需要使用 Python开发工具。
1.2.2 Python常用开发工具
开发工具是指提供代码编辑、运行等功能的软件。在 Python程序开发过程中,需要一些开发工具来有效地帮助程序员加快开发速度、提高开发效率,所以 Python开发工具是必不可少的。以下介绍 3种常用的开发工具。
1.IDLE
IDLE是开发 Python程序的基本工具,具备程序调试、运行的功能,是简单 Python开发不错的选择。当安装好 Python解释器以后, IDLE就自动安装好了,可以直接运行使用。 IDLE由 Shell和编辑器两部分组成,其中 Shell是 Python语言的执行工具,如图 1-7所示。通过图 1-7中的 File菜单创建新文件即可打开编辑器,编辑器是编写代码的工具,如图 1-8所示。在编辑器中编写完代码并保存完毕后( Python程序文件的扩展名为.py),通过编辑器 Run菜单下的 Run Module命令运行代码,将会在 Shell中执行编写的代码,如图 1-9所示。
展开