拙作《Python程序设计基础》(董付国编著,清华大学出版社,2015年8月出版,“十一五”国家级规划教材)陆续在亚马逊、当当、京东、互动出版网、淘宝以及各大书店上架,该书侧重于Python的基本语法,对Python 2.x和Python 3.x的异同进行了深入分析与对比,结合本人15年教学与开发工作中的部分案例来介绍Python语言,并融入了大量安全编程与代码优化的思路与建议。本书提供全套教学课件、源代码、习题答案与分析、授课计划与学时分配表,作者长期提供QQ、微信在线交流,并不定期在QQ空间发布勘误表。
本书适用读者
本书可以作为(但不限于):
l 数字媒体技术、软件工程、网络工程、信息安全、会计、经济、金融、心理学、统计以及其他非计算机专业本科或专科的程序设计教材。如果作为本科非计算机专业程序设计语言公共课或选修课教材,建议采用48学时边讲边练的教学模式。
l 具有一定Python基础的读者进阶学习资料。
l 打算利用业余时间学习一门快乐的程序设计语言并编写几个小程序来娱乐的读者首选学习资料。
l 少数对编程具有浓厚兴趣和天赋的中学生课外阅读资料。
目录
第1章 基础知识1
1.1 如何选择Python版本
1
1.2 Python安装与简单使用
3
1.3 使用pip管理Python扩展库
5
1.4 Python基础知识
6
1.4.1 Python对象模型
6
1.4.2 Python变量
7
1.4.3 数字
11
1.4.4 字符串
12
1.4.5 运算符与表达式
13
1.4.6 常用内置函数
16
1.4.7 对象的删除
20
1.4.8 基本输入输出
21
1.4.9 模块导入与使用
23
1.5 Python代码编写规范
25
1.6 Python文件名
27
1.7 Python脚本的“__name__”属性
28
1.8 编写自己的包
29
1.9 Python编程快速入门
30
1.10 The Zen of Python
32
本章知识精要
32
习题
33
第2章 Python数据结构
35
2.1 列表
35
2.1.1 列表创建与删除
36
2.1.2 列表元素的增加
38
2.1.3 列表元素的删除
42
2.1.4 列表元素访问与计数
47
2.1.5 成员资格判断
48
2.1.6 切片操作
49
2.1.7 列表排序
51
2.1.8 用于序列操作的常用内置函数
52
2.1.9 列表推导式
55
2.2 元组
57
2.2.1 元组的创建与删除
58
2.2.2 元组与列表的区别
59
2.2.3 序列解包
60
2.2.4 生成器推导式
61
2.3 字典
62
2.3.1 字典创建与删除
62
2.3.2 字典元素的读取
63
2.3.3 字典元素的添加与修改
65
2.3.4 字典应用案例
65
2.3.5 有序字典
66
2.4 集合
67
2.4.1 集合的创建与删除
67
2.4.2 集合操作
68
2.5 再谈内置方法sorted()
69
2.6 复杂数据结构
70
2.6.1 堆
71
2.6.2 队列
72
2.6.3 栈
75
2.6.4 链表
77
2.6.5 二叉树
78
2.6.6 有向图
80
本章知识精要
81
习题
82
第3章 选择与循环
84
3.1 条件表达式
84
3.2 选择结构
86
3.2.1 单分支选择结构
86
3.2.2 双分支结构
87
3.2.3 多分支结构
87
3.2.4 选择结构的嵌套
88
3.2.5 选择结构应用案例
90
3.3 循环结构
91
3.3.1 for循环与while循环
91
3.3.2 循环结构的优化
92
3.4 break和continue语句
93
3.5 案例精选
95
本章知识精要
98
习题
99
第4章 字符串与正则表达式
101
4.1 字符串
102
4.1.1 字符串格式化
103
4.1.2 字符串常用方法
106
4.1.3 字符串常量
112
4.1.4 可变字符串
113
4.2 正则表达式
114
4.2.1 正则表达式元字符
114
4.2.2 re模块主要方法
116
4.2.3 直接使用re模块方法
116
4.2.4 使用正则表达式对象
118
4.2.5 子模式与match对象
120
4.2.6 正则表达式应用案例精选
124
本章知识精要
129
习题
130
第5章 函数设计与使用
131
5.1 函数定义与调用
131
5.2 形参与实参
133
5.3 参数类型
134
5.3.1 默认值参数
135
5.3.2 关键参数
136
5.3.3 可变长度参数
137
5.3.4 参数传递时的序列解包
138
5.4 return语句
139
5.5 变量作用域
139
5.6 lambda表达式
141
5.7 案例精选
143
5.8 高级话题
146
本章知识精要
149
习题
150
第6章 面向对象程序设计
152
6.1 类的定义与使用
152
6.1.1 类定义语法
152
6.1.2 self参数
153
6.1.3 类成员与实例成员
154
6.1.4 私有成员与公有成员
154
6.2 方法
157
6.3 属性
159
6.3.1 Python 2.x中的属性
159
6.3.2 Python 3.x中的属性
161
6.4 特殊方法与运算符重载
163
6.4.1 常用特殊方法
163
6.4.2 案例精选
164
6.5 继承机制
168
本章知识精要
171
习题
171
第7章 文件操作
173
7.1 文件对象
173
7.2 文本文件操作案例精选
175
7.3 二进制文件操作案例精选
181
7.3.1 使用pickle模块
181
7.3.2 使用struct模块
182
7.4 文件级操作
183
7.4.1 os与os.path模块
183
7.4.2 shutil模块
185
7.5 目录操作
186
7.6 高级话题
188
本章知识精要
193
习题
193
第8章 异常处理结构与程序调试
195
8.1 基本概念
195
8.2 Python异常类与自定义异常
196
8.3 Python中的异常处理结构
199
8.3.1 try...except结构
199
8.3.2 try...except...else结构
200
8.3.3 带有多个except的try结构
201
8.3.4 try...except...finally结构
201
8.4 断言与上下文管理
204
8.4.1 断言
204
8.4.2 上下文管理
205
8.5 用sys模块回溯最后的异常
205
8.6 使用IDLE调试代码
206
8.7 使用pdb模块调试程序
209
8.7.1 pdb模块常用命令
209
8.7.2 使用pdb模块调试Python程序
211
本章知识精要
214
习题
215
第9章 GUI编程
216
9.1 Frame
216
9.2 Controls
220
9.2.1 Button、StaticText、TextCtrl
220
9.2.2 Menu
222
9.2.3 ToolBar、StatusBar
223
9.2.4 对话框
224
9.2.5 RadioButton、CheckBox
225
9.2.6 ComboBox
227
9.2.7 ListBox
229
9.2.8 TreeCtrl
231
9.3 Boa-constructor
235
本章知识精要
235
习题
236
附录A 将Python程序转换为exe程序
237
附录B 常用Python扩展库简介
239
B1 图形图像编程模块
239
B2 游戏编程模块
239
B3 语音识别模块
240
B4 网络编程模块
240
B5 多线程编程模块
241
B6 数据库编程模块
241
B7 Pywin32
241
B8 ctypes
242
B9 科学计算与可视化模块
243
B10 软件分析插件
244
B11 其他常用模块
244
附录C 安卓平台的Python编程
246
参考书目
249