Python程序设计教程_第1页
Python程序设计教程_第2页
Python程序设计教程_第3页
Python程序设计教程_第4页
Python程序设计教程_第5页
已阅读5页,还剩310页未读 继续免费阅读

付费阅读全文

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高等学校大数据技术与应用规划教材

Python程序设计教程

何庆新解姗姗王慧主编

内容简介

本书系统地介绍了Python编程语言的基础知识,共分13章,主要内容包括Python概述、Python

语言基础、程序控制结构、Python序列、函数设计与使用、面向对象编程、文件操作、数据库操作、

网络爬虫、NumPy、pandas数据处理与分析、Matplotlib数据可视化基础以及综合应用案例。

本书内容全面,概念清晰,例题丰富,循序渐进,易于学习。书中以大量实例引导读者逐步

深入学习,每个实例程序都有详尽的解释,并都能在本书推荐的运行环境中正常运行。实例中既

有简单易懂的程序片段,也有实际可用的综合案例,有利于读者迅速掌握Python开发的关键技术。

本书适合作为普通高等院校计算机、大数据及相关专业Python课程的教材,也可作为

Python初学者及从事大数据相关技术人员的参考用书,还可供自学考试的考生和全国计算机等

级考试(二级Python)考生研习。

图书在版编目(CIP)数据

Python程序设计教程/何庆新,解姗姗,王慧主编.—北京:

中国铁道出版社有限公司,2019.8

高等学校大数据技术与应用规划教材

ISBN978-7-113-25902-0

Ⅰ.①P…Ⅱ.①何…②解…③王…Ⅲ.①软件工具-程序

设计-高等学校-教材Ⅳ.①TP311.561

中国版本图书馆CIP数据核字(2019)第141149号

书名:Python程序设计教程

作者:何庆新解姗姗王慧

策划:潘晨曦编辑部电话2061

责任编辑:何红艳包宁

封面设计:郑春鹏

责任校对:张玉华

责任印制:郭向伟

出版发行:中国铁道出版社有限公司(100054,北京市西城区右安门西街8号)

网址:/51eds/

印刷:三河市宏盛印务有限公司

版次:2019年8月第1版2019年8月第1次印刷

开本:787mm×1092mm1/16印张:19.5字数:474千

书号:ISBN978-7-113-25902-0

定价:49.80元

版权所有侵权必究

凡购买铁道版图书,如有印制质量问题,请与本社教材图书营销部联系调换。电话:(010)63550836

打击盗版举报电话:(010)51873659

PREFACE前言

Python已经成为最受欢迎的程序设计语言之一。自从2004年以后,Python的使用率呈线

性增长。Python是解释型、面向对象、动态数据类型的高级程序设计语言。早期的Python主

要用于UNIX系统,由于其强大功能和各方面的优点逐渐为人们认识,到了20世纪80年代,

Python开始进入其他操作系统,并很快在各类大、中、小和微型计算机上得到广泛使用,成

为最流行的程序设计语言之一。随着计算机的普及和发展,Python在各个领域的应用越来越

广泛,几乎各类计算机系统都支持Python的开发环境,这为Python的普及和应用奠定了强

大基础。

在大数据、云计算、人工智能等技术飞速发展的今天,Python有了更加广阔的用武之地。

Python解释器作为自由软件,由全世界的Python爱好者维护、扩充着能够适应各种需求的库,

因此,Python当前仍在不断快速发展着。随着Python的扩展库不断丰富,使得Python无论是

作为入门编程语言还是在解决大数据分析、云计算、科学计算等领域问题都有着得天独厚的优

势。Python作为编程语言本身来说很容易上手,即使从没接触过程序开发的学习者也很容易掌

握Python程序的编写,这就使软件设计、开发者不必过分关注程序的语言实现,可以腾出时

间去关注优化和算法问题。

据TIOBE编程语言社区在2019年3月发布的最新编程语言排行榜中,Python再度上升

2.39%,一跃超过C++语言,排在第三位,前两位是Java语言和C语言。

Python得到越来越多编程爱好者的应用,使得Python语言也顺理成章地进入本科教学计算

机类知识的课程体系。本书编者通过认真分析和研究Python体系,结合多年教学实践,列入

大量实例,深入浅出地引导读者掌握Python程序设计的基本方法,并结合案例让读者能够将

所学的知识整合运用,让读者能够在应用层面体验Python。

本书共13章,可分为两部分:第1章~第7章为第一部分,第8章~第13章为第二部分。

第一部分主要介绍Python基础知识,包括Python概述、语言基础、程序控制结构、Python序

列、函数设计与使用、面向对象编程、文件操作等方面。第二部分主要介绍Python高级应用

及综合案例,包括数据库操作、网络爬虫、NumPy、pandas数据处理与分析、Matplotlib数据可

视化等应用。

本书的特点有:知识点的安排强调整体性和系统性,知识点的表达强调层次性和有序性;理

论与实际紧密结合,每章节内容先介绍知识点再通过实例理解知识点,通过相对综合的实例熟悉

·I·

知识的具体应用。本书最后一章网站日志分析案例与旅游推荐案例是较复杂的应用,涉及Python

中的大部分知识内容,能使读者对Python理解更加深入。

本书由闽南理工学院信息管理学院何庆新、解姗姗、王慧主编。本书出版得到2018年福

建省本科高校一般教育教学改革研究项目《以校企合作为基础加强应用型高校计算机类专业课

程建设的研究与实践》资助,项目批准号:FBJG20180153。

本书编写过程中得到闽南理工学院各级领导的大力支持,同时校企合作企业泉州尚创网络

科技有限公司提供了大量的技术支持,在此一并表示衷心的感谢!中国铁道出版社有限公司

为本书的出版给予了大力支持,相关编辑出色的工作表现给我们留下了深刻印象,在此也表示

感谢!

由于本书编者水平有限,书中难免会有疏漏和不足之处,恳请广大读者和同行批评指正。

编者

2019年5月

·II·

目录

CONTENTS目录

2.4案例精选28

第一部分Python基础知识小结32

习题32

第1章Python概述1

第3章程序控制结构35

1.1Python的诞生和特点2

1.1.1Python的诞生23.1条件表达式35

1.1.2Python的特点23.2选择结构36

1.2Python的功能33.2.1if语句36

1.2.1Python常规应用33.2.2if…else语句37

1.2.2Python在大数据时代下的应用...33.2.3if…elif…else语句39

1.3Python的安装43.2.4选择结构的嵌套40

1.4常用的Python第三方编辑器63.3循环结构42

1.5第一个Python程序73.3.1while语句42

小结113.3.2for语句45

习题113.3.3continue和break语句49

3.3.4循环嵌套51

第2章Python语言基础12

3.4案例精选55

2.1标准输入/输出12小结61

2.1.1标准输入函数input()12习题61

2.1.2标准输出函数print()

第4章Python序列63

与格式化输出13

2.2Python数据类型174.1列表与列表推导式63

2.2.1数值类型174.1.1列表创建与删除63

2.2.2字符串174.1.2列表常用方法65

2.2.3布尔类型204.1.3列表推导式67

2.2.4空值None204.1.4切片68

2.2.5数据类型的转换204.2元组与生成器推导式69

2.3常量、变量、运算符与表达式...214.2.1元组69

2.3.1常量与变量214.2.2生成器推导式71

2.3.2运算符与表达式234.3字典72

2.3.3常用内置函数254.3.1创建字典和添加、修改与删除

元素72

·I·

4.3.2访问字典对象的数据756.3.1继承125

4.4集合766.3.2多态129

4.4.1集合基础知识766.4特殊方法与运算符重载130

4.4.2集合操作与运算776.5案例精选132

4.4.3列表、元组、字典、集合的小结140

区别和相互转换81习题140

4.5序列解包82

第7章文件操作142

4.6案例精选85

7.1文件对象142

小结87

7.2文本文件操作144

习题88

7.3二进制文件操作146

第5章函数设计与使用907.3.1使用pickle模块146

5.1函数的定义与调用917.3.2使用struct模块147

5.1.1函数的定义917.4对Excel数据的读/写操作148

5.1.2函数调用927.5文件与文件夹操作151

5.1.3函数的返回值937.5.1os与os.path模块151

5.1.4匿名函数947.5.2shutil模块153

5.2函数的参数传递967.6文件目录154

5.2.1默认值参数与关键参数967.6.1文件目录函数154

5.2.2可变长度参数987.6.2文件目录操作155

5.2.3参数传递时的序列解包987.7案例精选156

5.3变量作用域100小结161

5.4闭包103习题162

5.5递归函数104

5.6模块化程序设计108第二部分Python高级应用

5.6.1模块及其引用108

第8章数据库操作163

5.6.2编写自己的模块和包110

8.1使用Python操作SQLite

5.7案例精选111

数据库163

小结113

8.1.1Connection对象164

习题113

8.1.2Cursor对象165

第6章面向对象编程1148.1.3Row对象168

6.1类的定义与使用1158.2使用Python操作其他关系型

6.2数据成员与成员方法116数据库169

6.2.1私有成员与公有成员1168.2.1操作Access数据库169

6.2.2数据成员1178.2.2操作MSSQLServer数据库169

6.2.3方法1188.2.3操作MySQL数据库170

6.2.4属性1208.3操作MongoDB数据库171

6.3继承、多态1258.4案例精选173

·II·

目录

小结18110.3.5排序215

习题18210.3.6集合运算215

10.4案例精选216

第9章网络爬虫183

小结217

9.1网络爬虫概述183

习题217

9.1.1网络爬虫及其应用183

9.1.2网络爬虫结构185第11章pandas数据处理与分析...219

9.2Python第三方库18511.1pandas简介219

9.2.1Python第三方库的概念18511.2数据准备219

9.2.2Python第三方库的安装11.2.1pandas的数据结构219

方法18611.2.2数据导入222

9.2.3Python第三方库的使用11.2.3数据导出225

方法18711.3数据预处理227

9.3爬虫基本库18711.3.1数据清洗227

9.3.1Requests库18711.3.2数据抽取230

9.3.2BeautifulSoup库18911.3.3插入记录235

9.4案例精选19211.3.4修改记录236

9.4.1抓取泉州地区短租房信息19211.3.5排名索引237

9.4.2抓取酷狗TOP500的数据19611.3.6数据合并240

小结19811.3.7数据计算244

习题19811.3.8数据分组246

11.3.9日期处理247

第10章NumPy201

11.4数据分析249

10.1ndarray多维数组201

11.4.1基本统计分析249

10.1.1ndarray数组的创建201

11.4.2分组分析250

10.1.2ndarray对象的属性203

11.4.3分布分析251

10.1.3ndarray数据类型204

11.4.4交叉分析252

10.1.4数组变换204

11.4.5结构分析253

10.1.5NumPy的随机数函数206

11.4.6相关分析254

10.2数组的索引和切片208

11.5案例精选255

10.2.1数组的索引208

11.5.1数据来源255

10.2.2数组的切片209

11.5.2数据清洗256

10.2.3布尔型索引210

11.5.3数据探索257

10.2.4花式索引211

小结259

10.3数组的运算211

习题260

10.3.1数组的元素级运算211

10.3.2通用函数212第12章Matplotlib数据可视化

10.3.3条件逻辑运算213基础262

10.3.4统计运算21412.1绘图基础语法262

·III·

12.1.1pyplot基础语法262第13章综合应用案例282

12.1.2设置动态参数26513.1网站日志分析282

12.2分析特征间的关系26713.1.1网站日志解析282

12.2.1散点图26713.1.2日志数据清洗284

12.2.2折线图26813.1.3日志数据分析286

12.2.3案例精选27013.2旅游推荐293

12.3分析特征内部关系27313.2.1按性价比给用户推荐旅游

12.3.1直方图273产品293

12.3.2饼图27513.2.2通过热力图分析为用户提供

12.3.3箱线图275出行建议298

12.3.4案例精选276小结304

小结281习题304

习题281

参考文献304

·IV·

第1章Python概述

第一部分Python基础知识

第1章

Python概述

Python已经成为最受欢迎的程序设计语言之一。自从2004年以后,Python的使用率呈线

性增长。Python是解释型、面向对象、动态数据类型的高级程序设计语言。早期的Python主要

用于UNIX操作系统,由于其强大功能和各方面的优点逐渐为人们认识,到了20世纪80年

代,Python开始进入其他操作系统,并很快在各类大、中、小和微型计算机上得到广泛使用,

成为最流行的程序设计语言之一。随着计算机的普及和发展,Python在各个领域的应用越来

越广泛,几乎各类计算机系统都支持Python的开发环境,这为Python的普及和应用奠定了

强大基础。

Python程序中使用的变量无须声明,但变量在使用前要赋值,赋值后变量才会被创建,

Python中的变量没有类型。

本章介绍Python的特点、Python的功能、Python环境的安装、IDLE集成开发环境(IDE)

应用、常用Python第三方编辑器的应用及调试应用程序的方法以及第一个Python程序的

开发。

主要内容

Python的诞生和特点。

Python的功能。

Python的安装。

IDLE集成开发环境(IDE)应用。

常用Python第三方编辑器。

第一个Python程序。

学习目标

掌握Python程序的基本结构、基本符号与词汇。

掌握Python集成开发环境IDLE的基本使用方法。

能够编写并在IDLE中编辑、运行最简单的Python程序。

·1·

1.1Python的诞生和特点

1.1.1Python的诞生

Python是荷兰人GuidovanRossum于1989年创立的。1991年初,第一个Python解释器诞

生,它是用C语言实现的,并能够调用C语言的库文件。

TIOBE编程语言社区在2019年3月发布的最新编程语言排行榜中,Python再度上升2.39%,

超过C++语言,排在第三位,前两位是Java语言和C语言。

Python实际上是一个可以用许多不同的方式来实现的语言规范。Python的解释器如今有多

个语言实现,常用的是CPython(官方版本的C语言实现),把Python编译成中间态的字节码,

然后由虚拟机解释。其他还有Jython(可以运行在Java平台)、IronPython(可以运行在.NET

和Mono平台)、PyPy(Python实现的,支持JIT即时编译)。Python创始的初衷是“想要一种

既能够简单如命令,强大如C的语言”。

1.1.2Python的特点

Python是当今世界上应用最广泛的计算机语言之一。Python具有以下基本特点:

(1)简单易学。对于初学Python的编程者来说,Python也非常简单,Python让编程者能够

专注于解决问题而不是去研究语言本身。

(2)自由、开源。Python是FLOSS(自由/开放源码软件)之一。即开发者可以自由地发

布Python软件的副本、阅读其源代码、对其做改动、把其一部分用于新的自由软件中。Python

希望看到更加优秀的人创造并经常改进。

(3)高层语言。使用Python编写程序时无须考虑如何管理程序使用的内存等底层细节。

(4)可移植性。由于其开源特性,Python已经被移植在许多平台上(经过改动使它能够工

作在不同平台上)。Python程序无须修改就可以在下述任何平台上运行:Linux、Windows、

FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、PalmOS、

QNX、VMS、Psion、AcomRISCOS、VxWorks、PlayStation、SharpZaurus、WindowsCE、PocketPC、

Symbian以及Google基于Linux开发的Android平台。

(5)解释性。可以直接从源代码运行。在计算机内部,Python解释器把源代码转换为字节

码的中间形式,然后将其翻译成计算机使用的机器语言。

(6)面向对象。Python既支持面向过程编程也支持面向对象编程,在面向过程的语言中,

程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和

功能组合而成的对象构建起来的。与其他主要的语言(如C++和Java)相比,Python以一种非

常强大又简单的方式实现面向对象编程。

(7)可扩展可嵌入。为解决某个特殊问题,如执行效率要求高,或希望加密某个算法,则

这部分程序可以使用其他语言(如C/C++)编写,在Python中调用即可。也可以把Python嵌

入C/C++程序中,从而提供脚本功能。

(8)丰富的库。Python可以处理各种工作,包括正则表达式、文档生成、单元测试、线程、

数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系

·2·

第1章Python概述

统、GUI(图形用户界面)、Tk和其他与系统有关的操作。

(9)代码规范。Python采用强制缩进的方式使得代码具有较好的可读性。

(10)Python也有其不足之处:运行速度,对速度要求特别高的时候,可考虑用C++改写

关键部分。不过对于普通用户而言,机器的运行速度是可以忽略的。因为用户根本感觉不出来

这种速度的差异。

1.2Python的功能

Python具有丰富和强大的库。Python常被昵称为胶水语言,能够把用其他语言制作的各种

模块(如C/C++)很容易地连接在一起。常见的一种应用情形是,使用Python快速生成程序的

原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,

比如3D游戏中的图形渲染模块,对于性能要求特别高的部分,可以用C/C++重写,而后封装

为Python可以调用的扩展类库。

1.2.1Python常规应用

(1)系统编程:提供API(ApplicationProgrammingInterface,应用程序编程接口),能方便

地进行系统维护和管理,是Linux下的标志性语言之一,是很多系统管理员理想的编程工具。

(2)图形处理:有PIL、Tkinter等图形库支持,能方便地进行图形处理。

(3)数学处理:NumPy扩展提供与大量标准数学库的接口。

(4)文本处理:Python提供的re模块能支持正则表达式,还提供SGML、XML分析模块,

许多程序员利用Python进行XML程序开发。

(5)数据库编程:程序员可通过遵循PythonDB-API(数据库应用程序编程接口)规范的

模块与MicrosoftSQLServer、Oracle、Sybase、DB2、MySQL、SQLite等数据库通信。Python自

带有一个Gadfly模块,提供了一个完整的SQL环境。

(6)网络编程:提供丰富的模块支持Sockets编程,能方便快速地开发分布式应用程序。

很多大规模软件开发计划(如Zope、BitTorrent、Google、Facebook等)都在广泛地使用它。

(7)Web编程:应用的开发语言,支持XML技术。

(8)多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行

二维和三维图像处理。PyGame模块可用于编写游戏软件。

(9)PYMO引擎:PYMO(PythonMemoriesOff)是一款运行于SymbianS60V3、Symbian3、

S60V5、Android系统上的AVG游戏引擎。

1.2.2Python在大数据时代下的应用

因为Python拥有大量的数据处理库,所以基本上在大数据中用到的机器学习算法中对数据

的抓取、对数据的处理和分析、对数据的绘图和对数据的建模,都可以通过对应库的支持来实

现。同时在真实的数据分析中,Python简练的语言能够让程序员把大量的精力放在数据分析和

理解上,而不是花费更多的时间去研究怎么写代码。Python具体在大数据中的应用有:

(1)网络爬虫:又称网络蜘蛛,是大数据行业获取数据的核心工具。没有网络爬虫自动地、

不分昼夜地、高智能地在互联网上抓取免费数据,那些大数据相关的公司就无法经营下去。能够

·3·

编写网络爬虫的编程语言很多,但Python是主流语言之一,其Scripy爬虫框架应用非常广泛。

(2)数据分析与处理:在大量数据的基础上,结合科学计算、机器学习等技术,对数据进

行清洗、去重、规格化和针对性的分析是大数据行业的基石。Python是数据分析的主流语言之

一。Python也是一个比较完善的数据分析生态系统,其中Matplotlib经常会被用来绘制数据图

表,它是一个2D绘图工具,有着良好的跨平台交互特性。日常做描述统计用到的直方图、散

点图、条形图等都会用到它,编写简单的代码即可画出图。人们日常看到的K线图、月线图也

可用Matplotlib绘制。如果在证券行业做数据分析,Python是必不可少的。

(3)人工智能应用:在人工智能的应用方面,得益于Python强大而丰富的库以及数据分析

能力。Python在人工智能大范畴领域内的机器学习、神经网络、深度学习等方面都是主流的编

程语言,得到广泛的支持和应用。Python在人工智能中能够找到比较成熟的包来加以调用。而

且Python是面向对象的动态语言,且适用于科学计算,这就使得Python在人工智能方面备受

青睐。虽然人工智能程序不限于Python,但依旧为Python提供了大量的API,这也正是因为

Python当中包含着较多的适用于人工智能的模块,比如Scikit-learn模块等。调用方便、科学

计算功能强大依旧是Python在AI领域最强大的竞争力。

1.3Python的安装

通常,Linux系统下(如Ubuntu、CentOS等)默认随系统安装Python程序,所以本节主要

介绍如何在Windows平台下安装Python开发环境。

(1)登录Python官网下载安装包:/downloads/windows/,下载适合自

已系统的Python安装包,以64位的软硬件系统为例,有3种类型的安装包供选择:Windows

x86-64embeddablezipfile、Windowsx86-64executableinstaller、Windowsx86-64web-based

installer,本书以Windowsx86-64executableinstaller安装包(python-3.7.3-amd64.exe)为例进

行安装讲解。

(2)双击安装包:python-3.7.3-amd64.exe,如图1-1所示,打开安装界面如图1-2所示。

(3)在图1-2中,勾选AddPython3.7toPATH复选框,然后单击Customizeinstallation选项,

以便自行配置安装路径,在打开的选项中保持默认设置即可,如图1-3所示,单击Next按钮。

图1-1Python安装包图1-2Python安装界面

(4)在打开的图1-4中,修改安装路径(如更改路径为D:\Programs\Python\Python37),单

击Install按钮。

·4·

第1章Python概述

图1-3选择功能界面图1-4修改安装目录界面

(5)打开图1-5所示界面,等待安装完成。

(6)打开图1-6所示界面,说明已安装完成,单击Close按钮。

图1-5等待安装完成界面图1-6安装完成界面

(7)测试Python,在DOS命令提示窗口中输入“python”,输出图1-7所示Python信息,

说明Python安装成功。

图1-7测试Python安装成功界面

(8)使用Python命令,在Python2.X下输入print"HelloWorld!"或在Python3.X下输入

print("HelloWorld!"),此处安装的Python版本是Python3.X,因此需要采用后者的形式,输出

图1-8所示结果。

图1-8测试print命令进行输出

·5·

(9)Python内置开发环境的使用。在安装Python后,选择“开始”→“所有程序”→Python

3.7→IDEL(Python3.764-bit)命令(见图1-9),即可打开Python集成开发环境IDEL,如图1-10

所示。

图1-9开始菜单中的IDLE命令图1-10Python集成开发环境IDEL

在PythonShell下完成程序是交互式编程。交互式编程不需要创建脚本文件,是通过Python

解释器的交互模式来编写代码,交互式编程的好处是程序实现方便快捷。

1.4常用的Python第三方编辑器

集成开发环境(IntegratedDevelopmentEnvironment,IDE)是用于提供程序开发环境的应

用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、

分析功能、编译功能、调试功能等一体化的开发软件服务套(组)。所有具备这一特性的软件

或者软件套(组)都可以叫集成开发环境。

1.优秀Python编程环境一般要求

(1)保存和加载源代码文件。一款集成开发环境或者编辑器应该可以保存现有工作,并在

之后重新打开时仍然保持离开环境时的状态。

(2)在环境内运行代码。在该环境下不需要退出编辑器来运行Python代码,在其内可以直

接运行Python程序。

(3)支持调试。在程序运行时支持逐步运行代码,或查看中间变量、设置断点等功能,以

便于调试。

(4)语法、关键字高亮显示。支持对代码中的关键词、变量和符号快速标识可以让阅读和

理解代码更为轻松。

(5)自动补全代码。调用Python内置库或函数时可以给出较好的提示或补全相应的代码,

并能够对代码做好缩进。

2.Python常用的集成开发环境

1)PyCharm

PyCharm是一个专门面向Python的全功能集成开发环境。拥有付费版(专业版)和免费开

源版(社区版),PyCharm在Windows、MacOSX、Linux系统中都支持快速安装和使用。

PyCharm直接支持Python开发环境,打开一个新的文件即可开始编写代码。用户也可在

PyCharm中直接运行和调试Python程序,并且它支持源码管理和项目。

·6·

第1章Python概述

2)Eclipse+PyDev

Eclipse实际上是一款面向Java开发并兼容Linux、Windows、OSX的集成开发环境。它拥

有丰富的插件和扩展功能市场,这使得Eclipse适用于各种各样的开发项目。Eclipse中的PyDev

插件支持Python调试、代码补全和交互式Python控制台。在Eclipse中安装PyDev非常便捷,

只需从Eclipse中选择Help→EclipseMarketplace命令,然后搜索PyDev。单击安装,必要时重

启Eclipse即可。

3)SublimeText

SublimeText是一款代码编辑器,其开发者的梦想是“使之成为更好的文本编辑器”。Sublime

Text支持Python代码编辑,同时兼容所有平台,并且丰富的插件(称之为“包”)扩展了语法

和编辑功能。SublimeText迅捷小巧,并且具有良好的兼容性。

安装额外的Python扩展比较棘手,SublimeText中所有的包都是用Python编写的,并且安

装社区扩展需要直接在SublimeText中执行Python脚本。

4)Atom

同样兼容所有平台的Atom被称为“21世纪可破解的文本编辑器”。开源的Atom拥有时尚

的界面、文件系统浏览器和扩展插件市场,它是使用Electron构建的,Electron使用JavaScript、

HTML和CSS构建跨平台的桌面应用。Python语言由一款可在Atom运行时安装的扩展插件

支持。

5)Spyder

Spyder是一款为了数据科学工作流做了优化的开源Python集成开发环境。它是附带在

Anaconda软件包管理器发行版中的,因此根据用户的设置,有可能已经在机器中安装了Spyder。

Spyder引人注目的一点是其目标受众是使用Python的数据科学家们。Spyder很好地集成了

SciPy、NumPy和Matplotlib等公共Python数据科学库。

Spyder拥有大部分集成开发环境具有的功能,例如,具备强大语法高亮功能的代码编辑器,

Python代码补全,甚至是集成文件浏览器。

1.5第一个Python程序

1.程序的实现

1.3节中已经在PythonShell的交互式编程方式下实现输出“HelloWorld!”,在实际开发中

更多的是在PythonIDLE等环境下完成脚本式程序的开发。Python中脚本式程序是先按Python

的语法规则完成源程序的编写,保存为以.py为扩展名的脚本文件,运行时再通过解释器对脚

本文件中的语句进行解释执行,直到脚本执行完毕,程序执行完成。脚本编程的好处是方便程

序的复用。下面用IDLE实现该程序的脚本式程序。

(1)打开PythonIDLE,如图1-11所示。

(2)新建文件,选择File→NewFile命令,如图1-12所示。

(3)打开源代码编辑窗口,如图1-13所示。

(4)编写程序,注意缩进,如图1-14所示。

·7·

图1-11PythonIDLE图1-12在PythonIDLE中新建文件

图1-13源代码编辑窗口图1-14HelloWorld程序

(5)保存文件。选择保存目录(如C:\),文件名为python1.py,如图1-15所示。

(6)运行程序,选择Run→RunModule命令(见图1-16),运行结果如图1-17所示。

图1-15保存文件图1-16选择运行命令

图1-17运行结果

2.Python的基础语法

在正式开发Python程序前首先要了解Python的一些基本语法,语法表示程序的结构或形

式,亦即表示构成语言的各个记号之间的组合规律。

·8·

第1章Python概述

Python语法中有如下一些基本规则和特殊字符。

井号(#)表示其后的字符为Python语句的注释——单行注释。

三个单引号(''')或者三个双引号(""")可以把多行内容括起来实现多行注释。

换行(\n)是标准的行分隔符(通常一个语句占一行)。

反斜线(\)继续上一行。

分号(;)将两条语句放在一行中。

冒号(:)将复合语句的头和体分开。

代码块(语句块)用缩进的方式体现。

用不同的缩进深度分隔不同的代码块。

Python文件以模块的形式组织。

下面进行详细说明。

1)注释(#、'''、""")

程序在解释执行过程中会忽略掉注释中的代码,注释也通常用来对某段程序进行说明,供

程序员更快地读懂程序。例如:

#这是单行注释

'''

这是多行注释,用三个单引号

这是多行注释,用三个单引号

这是多行注释,用三个单引号

'''

"""

这也是多行注释,用三个双引号

这也是多行注释,用三个双引号

这也是多行注释,用三个双引号

"""

2)续行(\)

一般来讲,Python的相邻语句使用换行(回车)分隔,亦即一行一条语句。如果一行语句

过长,可以使用续行符(\)分解为多行,例如:

print\

("helloworld!")

print("helloworld!")

等价。

关于续行符有如下两种例外情况:

①一个语句不使用续行符也可以跨行书写。在使用闭合操作符时,单一语句也可以跨多

行。例如,在含有小括号、中括号、花括号时可以多行书写。例如:

print("我的年龄是",

21)

但须注意,这时的缩进(即使是自动的缩进)将失去语法上的作用。

·9·

②三引号内包含的字符串也可以跨行书写。例如:

print('''hello

world!''')

输出结果为:

hello

world!

用三引号括起来的字符串有换行时输出时自动换行。

说明:如果要在使用反斜线换行和使用括号元素换行之间做一个选择,推荐使用后者,因

为这样可读性会更好。

3)多个语句构成代码组(:)

缩进位置相同的一组语句形成一个语句块,亦称代码块或代码组。像if、for、while、def

和class等复合语句,首行均以关键字开始,并以冒号(:)结束,该行之后的一行或多行代码

就构成了代码组,即语句块。例如:

第3章将要学习的if语句:

ifa>b:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论