Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,是*受欢迎的程序设计语言之一。Python语言简洁,语法简单,很适合作为学习编程的入门语言。
本书包括基础篇和高级篇,全面介绍Python编程的基础知识和实用技术。读者在阅读本书时可以充分了解和体验Python语言的强大功能。本书中所有程序均在Python 3.6.4环境下调试通过。
(1)理论联系实际,强化计算思维能力培养。
语言语法介绍以够用、实用和应用为原则,将Python语言的语法融入到问题求题中;从实际应用案例中抽取教学要素,重点强化模块化程序设计方法与基本算法的学习。全书从数据组织的维度介绍了基本数据类型以及数组、函数等在数据处理中的应用。让读者在学习的过程中潜移默化地提高计算思维能力。
(2)案例选取贴近生活,有助于提高学习兴趣。
(3)内容呈现直观、形象,知识点讲解深入浅出,通俗易懂。
(4)提供了丰富的辅助教学资源。提供的教学课件、教材源代码、实验案例、实验指导、习题解答、实验参考答案
王欣,南京工业大学浦江学院教师。先后讲授计算机导论、软件工程、VB程序设计、C语言程序设计、Python程序设计、数据结构等多门课程。主持科研项目多项,在北大核心期刊上发表论文多篇。目前主要从事云计算与大数据、人工智能等方面的研究工作,具有较为丰富的教科研经历。
第1篇 基础知识
第1章 Python概述 2
1.1 初识Python 2
1.1.1 什么是Python 2
1.1.2 Python的特性 3
1.2 开始Python编程 5
1.2.1 下载和安装Python 5
1.2.2 执行Python脚本文件 6
1.2.3 Python语言的基本语法 6
1.2.4 下载和安装Pywin32 7
1.3 Python文本编辑器IDLE 9
1.3.1 打开IDLE 9
1.3.2 新建Python脚本 10
1.3.3 保存Python脚本 10
1.3.4 打开Python脚本 10
1.3.5 语法高亮 10
1.3.6 自动完成 10
1.3.7 语法提示 11
1.3.8 运行Python程序 11
1.3.9 IDLE的菜单项 12
习题 13
第2章 Python语言基础 14
2.1 常量和变量 14
2.1.1 常量 14
2.1.2 变量 16
2.1.3 常量与变量的数据类型转换 18
2.2 运算符和表达式 20
2.2.1 运算符 21
2.2.2 表达式 24
2.3 常用语句 25
2.3.1 赋值语句 25
2.3.2 条件分支语句 25
2.3.3 循环语句 28
2.3.4 try-except异常处理语句 30
2.4 序列数据结构 31
2.4.1 列表的应用与实例 31
2.4.2 元组的应用与实例 38
2.4.3 字典的应用与实例 41
2.4.4 集合的应用与实例 45
习题 51
第3章 Python函数 53
3.1 声明和调用函数 53
3.1.1 自定义函数 53
3.1.2 调用函数 54
3.1.3 变量的作用域 54
3.1.4 在调试窗口中查看变量的值 55
3.2 参数和返回值 57
3.2.1 在函数中传递参数 57
3.2.2 函数的返回值 62
3.3 Python内置函数的使用 63
3.3.1 数学运算函数 63
3.3.2 字符串处理函数 64
3.3.3 其他常用内置函数 68
习题 72
第4章 Python面向对象程序设计 74
4.1 面向对象程序设计基础 74
4.1.1 面向对象程序设计思想概述 74
4.1.2 面向对象程序设计中的基本概念 75
4.2 定义和使用类 75
4.2.1 声明类 75
4.2.2 静态变量 78
4.2.3 静态方法的使用 79
4.2.4 类方法的使用 80
4.2.5 使用isinstance()函数判断对象类型 81
4.3 类的继承和多态 81
4.3.1 继承 81
4.3.2 抽象类和多态 83
4.4 复制对象 86
4.4.1 通过赋值复制对象 86
4.4.2 通过函数参数复制对象 86
习题 87
第5章 Python模块 89
5.1 Python标准库中的常用模块 89
5.1.1 sys模块 89
5.1.2 platform模块 92
5.1.3 与数学有关的模块 97
5.1.4 time模块 101
5.2 自定义和使用模块 104
5.2.1 创建自定义模块 104
5.2.2 导入模块 104
习题 105
第6章 函数式编程 106
6.1 函数式编程概述 106
6.1.1 什么是函数式编程 106
6.1.2 函数式编程的优点 107
6.2 Python函数式编程常用的函数 108
6.2.1 lambda表达式 108
6.2.2 map()函数 109
6.2.3 filter()函数 110
6.2.4 reduce()函数 111
6.2.5 zip()函数 112
6.2.6 普通编程方式与函数式编程的对比 113
6.3 闭包和递归函数 114
6.3.1 闭包 114
6.3.2 递归函数 114
6.4 迭代器和生成器 115
6.4.1 迭代器 115
6.4.2 生成器 116
习题 117
第2篇 高级编程技术
第7章 I/O编程 120
7.1 输入和显示数据 120
7.1.1 输入数据 120
7.1.2 输出数据 121
7.2 文件操作 123
7.2.1 打开文件 124
7.2.2 关闭文件 124
7.2.3 读取文件内容 125
7.2.4 写入文件 127
7.2.5 文件指针 129
7.2.6 截断文件 130
7.2.7 文件属性 130
7.2.8 复制文件 132
7.2.9 移动文件 132
7.2.10 删除文件 132
7.2.11 重命名文件 133
7.3 目录编程 133
7.3.1 获取当前目录 133
7.3.2 获取目录内容 133
7.3.3 创建目录 134
7.3.4 删除目录 134
习题 134
第8章 图形界面编程 136
8.1 常用tkinter组件的使用 136
8.1.1 弹出消息框 136
8.1.2 创建Windows窗口 139
8.1.3 Label组件 141
8.1.4 Button组件 144
8.1.5 Canvas画布组件 146
8.1.6 Checkbutton组件 158
8.1.7 Entry组件 159
8.1.8 Frame组件 161
8.1.9 Listbox组件 162
8.1.10 Menu组件 164
8.1.11 Radiobutton组件 167
8.1.12 Scale组件 168
8.1.13 Text组件 169
8.2 窗体布局 171
8.2.1 pack()方法 171
8.2.2 grid()方法 172
8.2.3 place()方法 173
8.3 Tkinter字体 174
8.3.1 导入tkFont模块 174
8.3.2 设置组件的字体 174
8.4 事件处理 175
习题 178
第9章 多任务编程 180
9.1 多进程编程 180
9.1.1 什么是进程 180
9.1.2 进程的状态 181
9.2 进程编程 181
9.2.1 创建进程 182
9.2.2 枚举系统进程 185
9.2.3 终止进程 189
9.2.4 进程池 189
9.3 多线程编程 191
9.3.1 线程的概念 191
9.3.2 threading模块 193
习题 208
第10章 网络编程 210
10.1 网络通信模型和TCP/IP协议簇 210
10.1.1 OSI参考模型 210
10.1.2 TCP/IP协议簇体系结构 211
10.2 Socket编程 213
10.2.1 Socket的工作原理和基本概念 213
10.2.2 基于TCP的Socket编程 215
10.2.3 基于UDP的Socket编程 219
10.3 电子邮件编程 221
10.3.1 SMTP编程 221
10.3.2 POP编程 225
习题 232
附录1 实验 234
实验1 开始Python编程 234
实验2 Python语言基础 236
实验3 Python函数 238
实验4 Python面向对象程序设计 240
实验5 Python模块 241
实验6 函数式编程 243
实验7 I/O编程 245
实验8 图形界面编程 247
实验9 多任务编程 249
实验10 网络编程 250
附录2 PyCharm的安装与使用 252