Python程序设计教程

-
【作 者】主编 李治国 武春岭
【I S B N 】978-7-5170-6588-3
【责任编辑】张玉玲
【适用读者群】高职高专
【出版时间】2018-07-10
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第1版第1次印刷
【页 数】192
【千字数】295
【印 张】12
【定 价】¥34
【丛 书】普通高等教育数据科学与大数据技术专业教材
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
目前已经出版的Python相关教材大多以Python 2.0为平台编写,具有一定的局限性。其程序代码已经无法直接在最新的Python平台上运行,不能很好地满足读者对Python语言的学习需求。本书以Python 3.0为基础编写,融入了最新的Python语言和编程特点。本书一共11章,从基本语法入手,涵盖了Python语言中的常见序列结构、常见语句、函数文件、类和继承、多线程编程、图形界面设计、数据库应用、网络应用和Web应用等内容。本书采用案例引导的方式,每个章节精心编排了大量的案例程序,生动形象地向学生展示了知识结构和项目应用。书中的所有程序都经过调试运行,保证了案例程序的正确性。
本书具有清晰易懂、案例丰富、实战性强的特点,适合本科和高职高专学生作为学习教程,同时也可以作为Python编程爱好者和程序员的学习和参考资料。
本书以Python 3.0 为基础编写,融入了最新的Python 语言和编程特点。从理论延伸到实践,将读者逐步引入到Python 程序设计的精彩世界中。从基本语法入手,循序渐进,涵盖了Python 语言中的常见序列结构、常见语句、函数文件、类和继承、多线程编程、图形界面设计、数据库应用、网络应用和Web 应用等内容。
本书采用案例引导的方式,每个章节精心编排了大量的案例程序,生动形象地向学生展示了知识结构和项目应用。书中的所有程序都经过调试运行,保证了案例程序的正确性。
前 言
Python语言是一种计算机编程语言,作用类似于C/C++/Java/Perl/VB/Delphi等计算机编程语言,具有非常清晰易读的语法特点,是一种面向对象的高级语言,并且可以进行扩展。Python语言用途非常广泛,支持Java和.Net技术,可以运行在Windows、Linux、FreeBSD、Solaris等几乎所有的操作系统上,也可以运行在手机中。目前在国际上非常流行,正在得到越来越多的重视。
Python语言使用方便,不需要进行复杂的编译,可以进行各种软件的开发,比如:制作网站、开发图形界面(GUI)程序、网络编程、数据库编程、图形图像处理、科学计算、手机编程、游戏编程等。
本书基于Python 3.0版本编写。Python 3.0是目前Python的较新版本,相比之前的版本在部分语法上更加精炼合理,并且得到更多第三方软件的支持,拥有更加广阔的资源。由于Python 3.0版本在设计时没有考虑向下兼容,因此许多早期Python版本设计的程序都无法在Python 3.0上正常执行。本教程中的所有案例均需要在Python 3.0环境下运行和调试。
本教程一共11章,从基本语法入手,循序渐进,从理论延伸到实践,将读者逐步引入到Python程序设计的精彩世界中。第1章介绍了Python语言的特点,该语言的编译器及开发环境的安装方法以及在编程过程中的程序调试环境。第2章主要讲解Python语言的变量类型和常用语句。第3章阐述了字符串、列表、元组、集合、字典等五种数据结构和应用。第4章介绍函数的概念、函数的定义方法以及如何调用函数。第5章介绍利用Python语言中的输入和输出功能、读取和写入的方法,以及文件内建函数、方法、属性及文件系统等内容。第6章讲解Python语言的面向对象编程。第7章介绍基于Tkinter 模块的图形界面编程。第8章阐述线程创建、线程同步和线程优先级等内容。第9章基于SQLite数据库和MySQL数据库,详细介绍数据库的创建、查询和修改等内容。第10章讲解网络中最常用的套接字和邮件服务等网络编程和应用。第11章讲述Web开发,介绍与Python Web开发技术相关的WSGI框架和模板的使用。
全书由重庆电子工程职业学院的李治国、武春岭任主编,唐乾林、梁雪梅、鲁先志、周璐璐、赵怡为副主编。中国水利水电出版社的寇文杰编辑对本书的出版给予了大力支持。在此,谨向为本书出版付出辛勤劳动的同志表示感谢。
由于编者水平有限,书中不足之处和错误在所难免,恳请广大读者批评指正,我们将在再版时及时改进。编者的E-mail:578774623@qq.com。
编 者
2018年4月
第1章 Python概述 1
1.1 Python语言概述 1
1.1.1 什么是Python语言 1
1.1.2 Python语言特点 2
1.2 Python开发环境的安装与配置 2
1.2.1 Python安装 3
1.2.2 环境变量配置 3
1.3 IDLE编程环境 4
1.3.1 通过交互模式进行编程 5
1.3.2 通过脚本模式进行编程 5
1.3.3 使用IDLE的调试器 6
1.4 PyCharm编程环境 7
习题 10
第2章 Python程序设计基础 12
2.1 Python基本语法 12
2.1.1 标识符 12
2.1.2 程序注释 12
2.1.3 代码块和组 13
2.1.4 基本输出语句 14
2.2 变量和数字类型 14
2.2.1 变量 14
2.2.2 数据类型 15
2.2.3 数字类型转换 15
2.3 使用解释器 16
2.3.1 交互式编程 16
2.3.2 脚本式编程 16
2.4 运算符和优先级 17
2.4.1 运算符 17
2.4.2 优先级 21
2.5 条件控制语句 21
2.5.1 if语句 22
2.5.2 if嵌套 23
2.6 循环语句 24
2.6.1 while语句 24
2.6.2 for语句 26
2.6.3 break和continue语句 28
2.7 迭代器和生成器 31
2.7.1 迭代器 31
2.7.2 生成器 32
习题 32
第3章 序列数据结构 34
3.1 字符串 34
3.1.1 字符串查询 34
3.1.2 字符串更新 35
3.1.3 转义字符 35
3.1.4 字符串运算符 36
3.1.5 字符串格式化 38
3.2 列表 38
3.2.1 列表赋值 39
3.2.2 列表查询 39
3.2.3 列表更新 39
3.2.4 列表元素删除 40
3.2.5 列表操作符 41
3.2.6 列表嵌套 42
3.3 元组 42
3.3.1 元组查询 43
3.3.2 元组修改 43
3.3.3 删除元组 43
3.3.4 元组运算符 44
3.4 集合 45
3.4.1 集合创建 45
3.4.2 集合运算 45
3.5 字典 46
3.5.1 字典查询 47
3.5.2 字典修改 48
3.5.3 字典元素删除 48
3.5.4 字典的特性 48
习题 49
第4章 函数和模块 51
4.1 函数 51
4.1.1 函数定义 51
4.1.2 函数调用 52
4.2 参数传递 54
4.2.1 参数传递对象 54
4.2.2 参数传递类型 55
4.3 匿名函数 58
4.4 返回值 58
4.5 变量作用域 59
4.5.1 作用域的范围 59
4.5.2 全局变量和局部变量 59
4.5.3 global和nonlocal关键字 60
4.6 模块 61
4.6.1 模块定义 61
4.6.2 模块导入 62
4.7 标准模块 63
4.8 时间模块 63
4.8.1 时间戳 63
4.8.2 获取当前时间 64
4.8.3 获取格式化时间 64
4.8.4 格式化日期 64
4.8.5 获取某月日历 66
习题 66
第5章 输入输出和文件 68
5.1 输入输出 68
5.1.1 输出格式 68
5.1.2 键盘输入 70
5.2 文件操作 70
5.2.1 open()函数 70
5.2.2 close()函数 71
5.2.3 文件对象属性 72
5.3 文件对象操作 73
5.3.1 read()函数 73
5.3.2 write()函数 73
5.3.3 readline()函数 74
5.3.4 next()函数 74
5.3.5 seek()函数 75
5.3.6 tell()函数 76
习题 77
第6章 面向对象编程 78
6.1 创建类 78
6.1.1 类的定义 78
6.1.2 类的实例化 78
6.1.3 类的方法 79
6.1.4 构造方法 80
6.1.5 私有属性和方法 80
6.2 继承 82
6.2.1 继承的定义和特征 82
6.2.2 单继承 83
6.2.3 多继承 84
6.2.4 方法重写 85
6.2.5 运算符重载 86
习题 88
第7章 GUI编程 90
7.1 Tkinter模块功能 90
7.1.1 创建一个GUI程序 90
7.1.2 Tkinter控件简介 91
7.2 Tkinter图形界面控件 92
7.2.1 Label控件 92
7.2.2 Button控件 93
7.2.3 Canvas控件 94
7.2.4 Checkbutton控件 95
7.2.5 Radiobutton控件 98
7.2.6 Entry控件 101
7.2.7 Combobox控件 102
7.2.8 ScrolledText控件 104
7.2.9 Menu控件 108
7.2.10 Frame控件 109
7.3 事件响应 113
7.3.1 鼠标事件 113
7.3.2 键盘事件 115
习题 117
第8章 多线程编程 119
8.1 进程和线程简介 119
8.1.1 进程和线程的概念 119
8.1.2 进程与线程之间的关系 119
8.2 线程创建 120
8.2.1 函数方法创建线程 120
8.2.2 用threading模块创建线程 121
8.3 线程同步 123
8.3.1 线程锁 123
8.3.2 threading.RLock和threading.Lock
的区别 126
8.3.3 BoundedSemaphore 126
8.3.4 event 128
8.3.5 conditions 130
8.3.6 barriers 132
8.4 Queue模块 133
8.4.1 FIFO队列 133
8.4.2 LIFO队列 133
习题 137
第9章 数据库编程 139
9.1 数据库简介 139
9.1.1 数据库系统管理 139
9.1.2 关系型数据库 140
9.2 SQLite数据库应用 141
9.2.1 关于SQLite数据库 141
9.2.2 连接SQLite数据库 141
9.2.3 创建表 142
9.2.4 删除表 144
9.2.5 向表中添加数据 144
9.2.6 查找数据 145
9.2.7 更新数据 146
9.2.8 删除数据 148
9.3 MySQL数据库应用 149
9.3.1 关于MySQL数据库 149
9.3.2 安装MySQL数据库 149
9.3.3 安装PyMySQL模块 151
9.3.4 连接数据库 152
9.3.5 创建表 152
9.3.6 插入数据 153
9.3.7 查询数据 154
9.3.8 更新数据 155
9.3.9 删除数据 156
习题 156
第10章 网络编程应用 158
10.1 Socket编程 158
10.1.1 套接字模块 158
10.1.2 编写一个简单的服务器 160
10.2 邮件服务程序 161
10.2.1 发送普通电子邮件 162
10.2.2 发送HTML电子邮件 163
10.2.3 发送带附件的电子邮件 164
10.2.4 在HTML文本中添加图片 165
习题 166
第11章 Web开发 168
11.1 Web服务简介 168
11.1.1 HTTP协议 169
11.1.2 HTTP跟踪 170
11.1.3 HTTP格式 170
11.2 超文本 171
11.2.1 HTML 171
11.2.2 CSS 172
11.2.3 JavaScript 174
11.3 WSGI接口 175
11.3.1 WSGI接口介绍 175
11.3.2 运行WSGI服务 176
11.4 Web框架 178
11.4.1 Flask框架简介 178
11.4.2 Flask框架应用 178
11.5 模板 181
11.5.1 模板的功能 181
11.5.2 MVC框架 181
11.5.3 MVC应用 182
习题 184
参考文献 185
- HTML5+CSS3前端开发项目式教程(微课版) [主编 谭卫 徐文义]
- 新编高等学校英语应用能力考试(A级)教程(第二版) [主编 洪金梅 邵毅 向双丰]
- 模拟电子技术(第二版) [主编 罗桂娥]
- 大学计算机基础(等级考试版) [主编 钟诚]
- 计算机应用基础(Windows 10+Office 2016) [主编 阳晓霞 谭卫]
- 大学计算机基础教程(第二版) [主编 安志远 崔岩]
- 机电概念设计(MCD)应用实例教程 [主 编 黄文汉 陈斌]
- 画法几何及工程制图习题集(第二版) [主 编 乌 云 苏日娜]
- 计算机应用基础实训教程(第三版) [主 编 王向慧 康秀兰]
- 计算机应用基础(第三版) [主 编 王向慧 康秀兰]
- Photoshop 平面设计(微课版) [主编 赵艳莉]
- 大学生就业指导 [主编 于斌 唐敬仙 岳习新]
- Python 程序设计(微课版) [杨智勇 廖丹]
- 数据结构——C语言(微课版) [主编 梁海英]
- 数据通信与计算机网络(第三版) [主 编 季福坤 钱文光]
- 大学生创业基础 [主 编 姜国权 姜福佳]
- Excel高级应用实验指导 [主编 卢山]
- 管理信息系统(第三版) [王欣 编著]
- 物联网导论(第三版) [主 编 张翼英]
- 大学计算机基础案例教程(第二版) [主 编 叶潮流 金 莹]
- UI界面设计与制作教程 [主 编 黎 娅 任劲松]
- UML系统建模及系统分析与设计(第二版) [王欣 张毅 编著]
- Android高级程序设计 [主编 周雯 舒松]
- 电工学(多学时)学习辅导与习题全解 [主编 刘曼玲]
- 计算机网络技术基础项目式教程 [主 编 柳 青 曾德生]
- Excel在统计中的应用(第三版) [主 编 王维鸿]
- 多媒体技术与应用案例教程(第二版) [主 编 高海波 覃晓群 宁矿凤]
- 新编计算机应用基础教程 [主编 戴毅 吴瑞芝 贾姗姗]
- C程序设计简明教程 [黄能耿 黄致远 编著]
- Java程序设计简明教程 [黄能耿 黄致远 编著]