描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115524386
1. 老男孩在Python培训市场已经有多年经验,培训了几十批Python学员。 2. 编写经验丰富,编写的和老男孩一起学Python是华章的畅销系列产品。 3. 本书*的特点就是讲得非常细,每个知识点都零基础详细讲解,并列举大量案例。 4. 配套资源丰富,提供PPT、源代码、软件、教学大纲、教学视频。
本书共7 章,从编程语言介绍到面向对象再到*后的综合练习,由浅入深展开。主要内容包括:Python 发展历史与编程环境搭建、Python 编程基础知识、Python 基础数据类型、函数、模块、面向对象编程、综合案例–学生选课系统。 为提升学习效果,书中结合实际应用提供了大量的案例进行说明和训练,并配以完善的学习资料和支持服务,包括教学PPT、教学大纲、源码、教学视频、配套软件等,为读者带来全方位的学习体验。
第1 章 Python,那些不得不知道的儿 ……………………………..1
1.1 编程语言的发展 ………………………………… 2
1.2 Python 的起源 ……………………………………. 3
1.3 你问我答了解Python …………………………. 3
1.3.1 编程语言那么多,为什么选择Python …………………….. 3
1.3.2 Python 解释器的发行版本 ………….. 5
1.3.3 Python 的应用 ……………………………. 6
1.3.4 正视Python 的不足 ……………………. 6
1.3.5 如何学好Python ………………………… 6
1.4 Python 解释器的下载安装 ………………….. 7
1.4.1 Python for Windows ……………………. 7
1.4.2 Python for Linux ……………………….. 12
1.4.3 Python for Mac OS ……………………. 18
1.4.4 让人爱不释手的pip………………….. 20
1.5 工欲善其事,必先利其器–Python IDE 的选择与安装 ………………… 21
1.5.1 PyCharm 的下载与安装 …………….. 22
1.5.2 PyCharm 的使用 ………………………. 27
1.6 习题 ………………………………………………… 28
第2 章 Python 基础 ……………………. 29
2.1 hello world ………………………………………… 30
2.1.1 文本式编程 ……………………………… 30
2.1.2 命令行交互式编程 ……………………. 31
2.2 PEP8 代码风格指南 …………………………. 32
2.2.1 注释 ………………………………………… 32
2.2.2 缩进 ………………………………………… 33
2.2.3 单引号与双引号 ……………………….. 33
2.2.4 逻辑行与物理行 ……………………….. 33
2.3 变量与内存管理 ………………………………. 34
2.3.1 变量赋值 …………………………………. 34
2.3.2 内存管理 ………………………………….. 36
2.4 print and input ………………………………….. 38
2.5 运算符与表达式 ………………………………. 39
2.5.1 算数运算符 ………………………………. 40
2.5.2 比较运算符 ………………………………. 40
2.5.3 赋值运算符 ………………………………. 41
2.5.4 逻辑运算符 ………………………………. 42
2.5.5 成员运算符 ………………………………. 43
2.5.6 身份运算符 ………………………………. 43
2.5.7 位运算符 ………………………………….. 44
2.5.8 运算符的优先级 ……………………….. 44
2.6 流程控制语句 ………………………………….. 45
2.6.1 条件语句 ………………………………….. 46
2.6.2 循环之while 循环 …………………….. 49
2.6.3 循环之for 循环 …………………………. 50
2.6.4 break 语句 ………………………………… 51
2.6.5 continue 语句 ……………………………. 51
2.6.6 pass 语句 ………………………………….. 52
2.7 习题 ………………………………………………… 52
第3 章 数据类型 …………………………….. 54
3.1 Python 基础数据类型 ……………………….. 55
3.1.1 整型 …………………………………………. 55
3.1.2 浮点型 ……………………………………… 56
3.1.3 布尔型 ……………………………………… 58
3.1.4 复数 …………………………………………. 62
3.2 字符串 …………………………………………….. 62
3.2.1 字符串的创建 …………………………… 63
3.2.2 常用字符串方法 ……………………….. 64
3.2.3 字符串类型与类型的转换 …………. 75
3.2.4 最后,善用help ……………………….. 76
3.3 容易走火入魔的字符编码 ……………….. 77
3.3.1 字符编码的发展 ……………………….. 77
3.3.2 字符编码之Python ……………………. 79
3.4 列表 ………………………………………………… 82
3.4.1 列表的基本操作 ……………………….. 83
3.4.2 列表的常用方法 ……………………….. 86
3.4.3 列表的嵌套 ……………………………… 90
3.5 元组 ………………………………………………… 91
3.5.1 元组的基本操作 ……………………….. 91
3.5.2 元组的嵌套 ……………………………… 95
3.6 字典 ………………………………………………… 97
3.6.1 字典的基本操作 ……………………….. 98
3.6.2 字典的其他操作 ……………………… 100
3.6.3 字典的嵌套 ……………………………. 107
3.7 集合 ………………………………………………. 108
3.7.1 集合的常用操作和方法 …………… 108
3.7.2 集合的运算 ……………………………. 110
3.7.3 集合的嵌套 ……………………………. 114
3.8 推导式、三元表达式与深、
浅拷贝 ………………………………………….. 115
3.8.1 一行代码解决的事情 ………………. 115
3.8.2 三元表达式 ……………………………. 117
3.8.3 深、浅拷贝那些事 ………………….. 117
3.9 习题 ………………………………………………. 120
第4 章 函数 …………………………………….. 123
4.1 函数基础 ……………………………………….. 124
4.1.1 函数的定义与调用 ………………….. 124
4.1.2 函数的返回值 …………………………. 126
4.1.3 函数的参数 ……………………………. 127
4.1.4 函数对象 ……………………………….. 131
4.1.5 命名空间与作用域 ………………….. 133
4.1.6 嵌套函数与嵌套作用域 …………… 136
4.1.7 闭包函数 ……………………………….. 140
4.2 装饰器 …………………………………………… 142
4.2.1 开放封闭原则 …………………………. 144
4.2.2 无参装饰器 ……………………………. 145
4.2.3 有参装饰器 ……………………………. 146
4.2.4 多装饰器 ……………………………….. 149
4.3 迭代器 …………………………………………… 153
4.3.1 一个Shift 键引发的“血案” ….. 153
4.3.2 迭代器协议版本差异 ………………. 157
4.3.3 for 循环的本质 ………………………… 160
4.4 生成器 …………………………………………… 161
4.4.1 生成器函数 …………………………….. 161
4.4.2 生成器表达式VS列表解析式…………………………….. 163
4.5 递归与面向过程编程 …………………….. 164
4.5.1 递归 ……………………………………….. 164
4.5.2 面向过程编程 …………………………. 166
4.6 内置函数 ……………………………………….. 168
4.6.1 让人又爱又恨的lambda …………… 168
4.6.2 映射函数:map ………………………. 170
4.6.3 拉链函数:zip ………………………… 171
4.6.4 过滤函数:filter ………………………. 173
4.6.5 累积函数:reduce ……………………. 174
4.6.6 偏函数:partial ……………………….. 175
4.6.7 其他内置函数 …………………………. 177
4.7 文件操作 ……………………………………….. 183
4.7.1 打开文件 ………………………………… 183
4.7.2 文件常用方法 …………………………. 184
4.7.3 手动挡关闭文件 ……………………… 186
4.7.4 自动挡关闭文件 ……………………… 186
4.7.5 f 是什么 ………………………………….. 187
4.8 习题 ………………………………………………. 188
第5 章 模块 …………………………………….. 190
5.1 初识模块 ……………………………………….. 191
5.2 常用模块 ……………………………………….. 191
5.2.1 time ………………………………………… 191
5.2.2 collections ……………………………….. 197
5.2.3 functools …………………………………. 204
5.2.4 random ……………………………………. 207
5.2.5 序列化模块 …………………………….. 208
5.2.6 re ……………………………………………. 213
5.2.7 os ……………………………………………. 216
5.3 模块探索 ……………………………………….. 221
5.4 模块与包 ……………………………………….. 231
5.5 习题 ………………………………………………. 235
第6 章 面向对象 …………………………… 237
楔子:少年,你对盖伦一无所知 ……………. 238
6.1 类与对象 ……………………………………….. 240
6.1.1 类的创建 ……………………………….. 240
6.1.2 实例化 …………………………………… 241
6.2 继承 ………………………………………………. 246
6.2.1 命名空间 ……………………………….. 246
6.2.2 单继承 …………………………………… 248
6.2.3 多继承 …………………………………… 253
6.2.4 接口类 …………………………………… 254
6.2.5 抽象类 …………………………………… 257
6.2.6 新式类与经典类 ……………………… 258
6.2.7 C3 算法 ………………………………….. 260
6.2.8 issubclass 和isinstance …………….. 268
6.3 组合 …………………………………………….. 269
6.4 封装 …………………………………………….. 270
6.5 多态 …………………………………………….. 274
6.6 装饰器函数 ………………………………….. 277
6.6.1 @property ………………………………. 277
6.6.2 @classmethod …………………………. 281
6.6.3 @staticmethod ………………………… 282
6.7 反射 …………………………………………….. 283
6.7.1 什么是反射 ……………………………. 283
6.7.2 反射的应用 ……………………………. 286
6.8 函数VS 方法 ……………………………….. 289
6.9 类中的内置方法 …………………………… 290
6.9.1 对象的“诞生”与“死亡” …………………………………. 290
6.9.2 __len__ …………………………………… 293
6.9.3 __eq__ ……………………………………. 293
6.9.4 字符串格式化三剑客 ………………. 294
6.9.5 item 系列 ……………………………….. 298
6.9.6 __call__ ………………………………….. 301
6.9.7 __hash__ ………………………………… 301
6.10 习题 …………………………………………… 302
第7 章 学以致用–学生选课系统 ….. 303
7.1 功能概述 ………………………………………. 304
7.2 需求分析 ………………………………………. 304
7.2.1 角色设计 ………………………………… 304
7.2.2 功能设计 ………………………………… 304
7.2.3 流程设计 ………………………………… 304
7.2.4 程序设计 ………………………………… 305
7.2.5 流程图 ……………………………………. 306
7.2.6 数据库设计 …………………………….. 306
7.3 搭建框架 ………………………………………. 306
7.3.1 根据角色信息创建类 ………………. 307
7.3.2 完善角色信息 …………………………. 307
7.3.3 设计程序的入口 ……………………… 308
7.3.4 实现入口函数最重要的功能 ……. 311
7.3.5 优化框架 ………………………………… 314
7.4 细节实现 ………………………………………. 321
7.4.1 管理员之创建课程信息 …………… 321
7.4.2 管理员之查看课程信息 …………… 322
7.4.3 管理员之创建学生信息 …………… 324
7.4.4 管理员之查看学生信息 …………… 327
7.4.5 管理员之退出程序 ………………….. 328
7.4.6 问题:“你,还是你吗?” ……. 329
7.4.7 学生之查看可选课程 ………………. 334
7.4.8 学生之选择课程 ……………………… 335
7.4.9 学生之查看可选课程 ………………. 338
7.4.10 管理员之查看学生选课信息 ….. 339
7.4.11 学生之退出 …………………………… 341
7.5 系统优化 ………………………………………. 342
7.5.1 查看课程信息功能优化 …………… 346
7.5.2 退出功能优化 …………………………. 348
7.5.3 文件路径的优化 ……………………… 348
7.5.4 文件操作优化 …………………………. 349
7.5.5 交互体验的优化 ……………………… 350
7.5.6 优化后的代码示例 ………………….. 352
7.6 总结 …………
评论
还没有评论。