本书侧重于Python程序开发过程中重点和难点的理解,结合具有典型性的程序案例,用通俗的语言由浅入深、循序渐进地帮助读者掌握Python语言。知识点都使用生活中的案例帮助理解,每个案例都有详尽的代码解释,实战部分也会将Python语言与Web和数据分析等技术相结合,进行技术应用上的扩展。
本书由Python编程基础、Python高级编程、Python应用技术和Python实战演练4个部分组成。Python编程基础针对程序设计的入门,介绍从过程化的编程要点到代码中使用的各种数据类型;Python高级编程针对程序设计的提高,介绍从面向对象的使用到算法上的提升;Python应用技术针对程序设计的场景运用,介绍从Web的开发到数据分析的思路;Python实战演练针对程序设计的逻辑,从游戏的开发到基本网站的建设。旨在使读者通过对本书内容一步步的学习,能够学会编程方法,打好编程基础,提升编程能力,扩展编程应用,锻炼编程思维,培养编程逻辑。
本书适用于学习Python的初学者、爱好者和进取者。对程序没有概念的人员可以看得懂,学得会;有程序基础的人员可以加点“料”,扩思路;程序上的“大咖”可以多提宝贵意见,更好地为读者服务。
李刚,项目经理,从事IT行业超过十年,具有丰富的一线项目、授课、就业相关的实战经验。通晓Java、前端、Python等当下流行的技术,研究方向专注于人工智能、大数据等领域。
第1章 认识Python语言
1.1 Python的起源 002
1.2 Python优缺点 003
1.3 应用场景 004
1.4 学习建议 005
1.5 本章小结 006
第2章 编程环境的搭建
2.1 搭建Python环境 008
2.2 Python环境变量的设置 011
2.3 PyCharm编辑工具 012
2.4 本章小结 019
第3章 变量和数据类型
3.1 变量的提出 021
3.2 字符串的认识 024
3.3 数字的认识 032
3.3.1 整数 033
3.3.2 浮点数 033
3.4 注释 034
3.5 能力测试 035
3.6 面试真题 036
3.7 本章小结 036
第4章 顺序结构
4.1 顺序程序设计 038
4.2 常量与变量 039
4.3 运算符和表达式 043
4.4 强制类型转换 050
4.5 Python基本语句 052
4.6 能力测试 056
4.7 面试真题 056
4.8 本章小结 056
第5章 分支结构
5.1 趣味性程序示例 058
5.2 数字的认识 059
5.3 条件测试 065
5.4 能力测试 067
5.5 面试真题 068
5.6 本章小结 069
第6章 循环结构
6.1 while循环 071
6.2 while...else...循环 075
6.3 死循环 077
6.4 for循环简介 077
6.5 循环结束语句 080
6.6 嵌套循环 081
6.7 能力测试 084
6.8 面试真题 084
6.9 本章小结 085
第7章 列表
7.1 列表的概念 087
7.2 修改、添加和删除元素 089
7.3 组织列表 094
7.4 使用列表时避免索引错误 096
7.5 能力测试 097
7.6 面试真题 097
7.7 本章小结 098
第8章 操作列表
8.1 遍历整个列表 100
8.2 校验列表元素 103
8.3 创建数值列表 105
8.4 列表的复制 106
8.5 字符串切分成列表split()方法 114
8.6 能力测试 116
8.7 面试真题 117
8.8 本章小结 117
第9章 元组和集合
9.1 元组的定义 119
9.2 遍历元组中的所有值 120
9.3 元组的合并和重复 121
9.4 元组的其他特性 122
9.5 元组中的方法 126
9.6 集合(set) 127
9.7 集合操作 129
9.8 集合的运算 131
9.9 能力测试 135
9.10 面试真题 136
9.11 本章小结 136
第10章 元组和集合
10.1 一个简单的字典:游戏玩家字典 138
10.2 元组的其他特性 140
10.3 遍历字典 143
10.4 嵌套 145
10.5 能力测试 148
10.6 面试真题 148
10.7 本章小结 149
第11章 函数
11.1 定义函数 151
11.2 传递实参 153
11.3 返回值 157
11.4 将函数存储在模块中 161
11.5 lambda匿名函数 162
11.6 函数综合实战:托儿所学员管理程序 164
11.7 能力测试 166
11.8 面试真题 167
11.9 本章小结 167
第12章 算法
12.1 递归算法及其程序实现 169
12.2 冒泡排序算法及其实现 173
12.3 选择排序 177
12.4 插入排序 180
12.5 归并排序 184
12.6 快速排序 187
12.7 能力测试 191
12.8 面试真题 192
12.9 本章小结 193
第13章 装饰器
13.1 理解装饰器 195
13.2 装饰器应用实战 198
13.3 装饰器的几种实现方式 202
13.4 能力测试 204
13.5 面试真题 204
13.6本章小结 205
第14章 生成器与迭代器
14.1 生成器的理解 207
14.2 生成器的语法 207
14.3 生成器表达式 213
14.4 迭代器与迭代对象 215
14.5 Python库中的一些生成器 215
14.6 能力测试 218
14.7 面试真题 218
14.8 本章小结 219
第15章 类和对象
15.1 对象和类 221
15.2 创建和使用类 221
15.3 使用类和实例 226
15.4 面向对象的三大特性 232
15.5 继承 233
15.6 面向对象的应用实战:剪刀石头布 238
15.7 导入类 241
15.8 面向对象使用的编码建议 242
15.9 能力测试 243
15.10 面试真题 243
15.11 本章小结 244
第16章 魔术方法
16.1 封装 246
16.2 多态 249
16.3 魔术方法 250
16.4 类的常用函数 256
16.5 类中的装饰器 257
16.6 能力测试 260
16.7 面试真题 260
16.8 本章小结 261
第17章 文件和异常
17.1 从文件中读取数据 263
17.2 写入文件 268
17.3 os模块的一些文件类操作 272
17.4 异常 276
17.5 存储数据 278
17.6 能力测试 281
17.7 面试真题 281
17.8 本章小结 282
第18章 进程和线程
18.1 进程的概念 284
18.2 进程状态的理解 285
18.3 多进程的操作 287
18.4 进程锁 294
18.4.1 进程共享变量 294
18.4.2 进程锁实战:百进程抢百票 296
18.5 线程 298
18.5.1 线程的定义实战:英语背单词 299
18.5.2 线程类定义的写法实战:英语背单词面向对象编程 300
18.6 线程锁 300
18.6.1 线程间的通信实战:投注站线程间通信 301
18.6.2 多线程实战:百线程抢百票 302
18.6.3 GIL 303
18.6.4 多线程GIL实战:百线程抢百票 303
18.7 多线程实现生产者消费者模式 304
18.8 能力测试 305
18.9 面试真题 305
18.10 本章小结 306
第19章 Django开发入门
19.1 Web项目简介 308
19.2 MTV框架 309
19.3 Django框架介绍 310
19.3.1 Django介绍 310
19.3.2 Django的发展历史 310
19.3.3 Django的安装 310
19.4 创建第一个Django项目 310
19.4.1 创建项目:爱情留言板 311
19.4.2 创建应用:留下足迹 313
19.5 开发第一个Django项目 315
19.5.1 设计项目的Model 316
19.5.2 自动化后台应用操作Model 320
19.5.3 创建一个视图函数 323
19.5.4 创建一个URL模式 324
19.5.5 创建模板 326
19.6 项目的修改 329
19.7 Django原理 330
19.8 能力测试 330
19.9 面试真题 331
19.10 本章小结 331
第20章 数据分析初步
20.1 数据分析概述 333
20.2 数据分析模块Pandas概述 334
20.3 Series数据结构 335
20.4 DataFrame数据结构 345
20.5 数据导入导出 352
20.6 数据加工整理 353
20.7 数据分析简单入门 359
20.8 能力测试 359
20.9 面试真题 360
20.10 本章小结 360
第21章 乌鸦喝水游戏实战
21.1 需求分析 362
21.2 系统设计 362
21.3 系统开发必备 365
21.4 乌鸦喝水的实现 365
21.5 本章小结 400
第22章 鲜花礼品商品页实战
22.1 需求分析 402
22.2 系统功能设计 402
22.3 系统开发必备 403
22.4 数据表模型 406
22.5 admin自动化数据管理工具实现数据的录入 406
22.6 urls.py分发器路由文件的修改 407
22.7 View视图方法的实现 409
22.8 Templates模板中index.html文件的实现 409
22.9 项目的测试 414
22.10 本章小结 414