公告
作者新书《Python之光: Python编程入门与实战》已上市,购买方式见书籍主页链接,欢迎联系作者获取资源和加入本书学习群。跟作者学习,请进入 Python学习课程。欢迎关注作者的相关书籍 《深入浅出Pandas》
《Python之光:Python编程入门与实战》(英文书名:Python Primer)已由机械工业出版社出版发行,作者为本站(盖若)创办人,欢迎购买。
这本书将重新定义Python学习,它避开了现有Python入门书知识点杂而不精、内容脱离实际开发需求、详略设置不合理、学习曲线过于陡峭、案例过于炫技等弊端,它将带领读者快速掌握Python语言的最新特性、最新编程方法和最佳实践,让读者学完本书后具备项目实战能力,能用Python解决实际工作中的问题。
-(1)Python入门:Python基础知识庞杂,但很多知识点并不常用,本书对初学者必备的基础知识精挑细选,以降低读者的学习负荷。
-(2)Python进阶:详细且有针对性地讲解了Python的进阶知识,主要包括类、模块和各种常用内置库的原理和使用。学到这里,读者基本具备解决Python编程中各种常见问题的能力。
-(3)Python应用:讲解了如何用Python解决数据科学、办公自动化、图形及界面、Web开发4大领域的问题,它将让读者掌握Python项目的完整实现过程和常见第三方库的使用。
-(1)人人可零基础入门,不论年龄,不分职业,不需要任何背景知识。
-(2)结构设计合理、学习曲线平滑,轻松打牢Python基础。
-(3)图解书中难点和重点,清晰直观,一图胜千言。
-(4)代码简洁,变量命名简单,代码逻辑清晰,避免晦涩难懂术语。
-(5)知识全面,详略得当,涵盖最新的语言特性。
-(6)面向应用,讲解必备第三方库,配有经典、实用案例。
李庆辉,资深Python技术专家和数据产品专家,目前就职于某互联网企业,担任数据产品团队负责人。中国人工智能学会会员,精通Python数据科学及Python Web开发。曾参与教育部“1+X”数据分析(python)职业技能等级标准评审。
著有畅销书《深人浅出Pandas:利用Python进行数据处理与分析》,该书已经成为pandas领域的标淮参考书。
Python作为一种通用编程语言,在各个行各业、各个领域都能大显身手。本书没有限定年龄和行业,如果Python能够任何方面帮助你,无论是锻炼逻辑能力、提升数据思维、提高工作效率等等,都可以阅读本书。
以下是推荐阅读本书的典型读者群体:
编程是一项技术,检验你是否掌握它的唯一标准是是否能写出代码,解决实际问题,所有的理论阅读和原理解析都是为这个目标服务的,这就意味着你从一开始就要敲写代码,而不是看完书再开始。
本书提供了大量的代码示例,这些代码简洁实用,可以帮助你快速理解学习的内容。阅读本书只需要跟着本书的思路安装环境、试验代码、复现案例。当然,在这个过程中,需你举一反三,在编写代码时,思考这些学习内容能解决哪些问题。
最后,在学习过程中,要有意识地将自己生活和工作的问题转换为编程问题,用Python去解决它们,长此以往Python会越来越顺手,你也会越来越有成就感。
本书共10大章,总体上可分为三个部分。
第一部分(第1~4章)为Python入门,介绍了什么是编程、Python语言的特点、为什么选择学习Python以及如何学习Python。本部分也讲解了Python的基本理念和语法、开发环境的搭建以及Python的执行原理。第2章节和第3章从面向对象的角度系统性地介绍了Python数据结构体系、内置的数据类型以及这些类型的操作和方法。第4章则介绍了Python的流程控制语法,重点讲解了如何编写和调用函数。
第二部分(第5~6章)为Python进阶内容,主要介绍了类与模块的知识,并对面向对象做了进一步的阐述,如何自己定义一个新的Python类型,如何做类型注解,这对于我们理解学习三方库非常重要。此部分还介绍了Python常用的内置库,如生成随机数据、字符串的操作、时间日期、枚举类型等等。
第三部分(第7~10章)主题为Python实战应用,包括了数据科学、办公自动化、图形和界面、网站开发方面的内容,分别介绍了这些领域必须掌握的三方库、编程思路、实战案例等。这几章提供的实战案例非常典型,是我们的日常需求,通过对需求分析、代码设计思路、实战编码,可以让你真实体验用Python解决实际问题的过程。
最后,本书中也提供了许多知识点的扩展阅读网址,供读者深入学习。在阅读本书的同时也可以多参考阅读Python的官方文档以及各个三方库的官方文档,那里才是第一手的学习材料。
本书最大的特色是零门槛学Python,语言通俗易懂,用了大量例子和代码帮助读者学习用Python解决实际问题。知识结构循序渐进,学习难度由浅入深是本书的最大特色。与其他Python入门书相比,本书的另一个特点是既适合初学者学习Python基础,又适度涉及了科学计算、办公自动化、Web开发等领域,这些项目的涉及面广,使读者对Python的潜力和应用场景有全面而深入的了解。总之,这本书选材新颖,突出实用,结构清晰,是一本既适合入门学习也适合实践应用的Python入门教程,值得推荐。
—— Python技术专家 廖雪峰
这本Python入门书非常适合初学者,它的语言通俗易懂,内容详尽全面。本书不仅基础知识部分介绍完备,还介绍了Python开发涉及的各个应用领域,帮助读者在理解入门知识的基础上,更好地理解Python的实战应用场景。如果你正在寻找一本既适合入门学习也适合实践应用的Python书籍,那么这本书是非常值得推荐的。
—— 崔庆才,微软(中国)软件工程师,《Python3网络爬虫开发实战》作者
大数据时代,Python已是人人必会的技能之一。李庆辉的《Python之光》是根据读者的学习心智模型层层递进讲解,并且配有大量的实战应用案例。它是非常适合零基础朋友学习Python,内容丰富、语言通俗易懂、代码简洁。它能让你用最少的时间学会Python,是一本入门级同学的绝佳选择。
—— 马文豪(网名:小码哥) 《零基础轻松学Python》与《Python + Excel/PPT/Word 一本通》作者
前 言
第1章 开始Python编程 1
1.1 认识Python 1
1.1.1 什么是编程 1
1.1.2 Python的诞生 2
1.1.3 Python的特点 3
1.1.4 为什么选择Python 4
1.1.5 如何学习Python 5
1.1.6 小结 5
1.2 Python快速入门 6
1.2.1 print() 6
1.2.2 基本数据类型 7
1.2.3 构造基本数据 8
1.2.4 赋值 10
1.2.5 注释 11
1.2.6 流程控制 11
1.2.7 函数 13
1.2.8 类 14
1.2.9 模块和包 15
1.2.10 小结 15
1.3 开发环境搭建 16
1.3.1 开发环境选择 16
1.3.2 Python安装管理 16
1.3.3 Miniconda安装 17
1.3.4 安装与管理Python环境 18
1.3.5 安装第三方库 19
1.3.6 JupyterLab 20
1.3.7 VS Code 22
1.3.8 PyCharm 23
1.3.9 小结 24
1.4 了解Python 24
1.4.1 代码行 25
1.4.2 缩进 26
1.4.3 标识符 27
1.4.4 标识符命名 27
1.4.5 名称的使用 30
1.4.6 常量和字面量 32
1.4.7 表达式 33
1.4.8 语句 35
1.4.9 命令行执行 37
1.4.10 执行模型 38
1.4.11 小结 40
1.5 本章小结 41
第2章 数据类型系统 42
2.1 一切皆对象 42
2.1.1 理解对象 42
2.1.2 理解类 43
2.1.3 类型检测 44
2.1.4 属性和方法 45
2.1.5 属性和方法查看 46
2.1.6 属性和方法的文档 47
2.1.7 小结 49
2.2 内置类型 49
2.2.1 类型体系 49
2.2.2 空类型和None 51
2.2.3 布尔值 52
2.2.4 布尔运算 54
2.2.5 比较运算 55
2.2.6 小结 56
2.3 数字 56
2.3.1 数值字面值 57
2.3.2 内置构造函数 58
2.3.3 数字的运算 60
2.3.4 内置计算函数 61
2.3.5 内置进制转换函数 62
2.3.6 数字的属性和方法 63
2.3.7 小数的舍入 64
2.3.8 整数的按位运算 65
2.3.9 小结 66
2.4 字符串 66
2.4.1 字符串字面值 67
2.4.2 字符串转义 68
2.4.3 字符串合并 69
2.4.4 格式化字面值 70
2.4.5 str()和repr() 71
2.4.6 ascii() 74
2.4.7 ord()和chr() 75
2.4.8 字符串的操作 75
2.4.9 字符串的方法 76
2.4.10 二进制序列 78
2.4.11 小结 79
2.5 本章小结 79
第3章 容器类型 80
3.1 容器类型概述 80
3.1.1 容器的分类 80
3.1.2 鸭子类型 81
3.1.3 成员检测 83
3.1.4 拼接 84
3.1.5 迭代 85
3.1.6 原地操作 86
3.1.7 clear()方法 88
3.1.8 remove()方法 89
3.1.9 copy()方法 91
3.1.10 pop()方法 91
3.1.11 推导式 93
3.1.12 collections容器类型 95
3.1.13 小结 96
3.2 序列类型 96
3.2.1 序列简介 96
3.2.2 自定义序列 97
3.2.3 range() 98
3.2.4 索引和切片 99
3.2.5 slice() 103
3.2.6 count()方法 104
3.2.7 index()方法 106
3.2.8 append()方法 108
3.2.9 extend()方法 109
3.2.10 insert()方法 110
3.2.11 reverse()方法 111
3.2.12 小结 111
3.3 列表和元组 112
3.3.1 构造列表 112
3.3.2 list() 112
3.3.3 列表的操作 113
3.3.4 列表的sort()方法 114
3.3.5 双向队列deque 115
3.3.6 元组构造 117
3.3.7 tuple() 118
3.3.8 圆括号形式 119
3.3.9 元组操作 122
3.3.10 元组解包 122
3.3.11 命名元组namedtuple() 123
3.3.12 小结 126
3.4 字典和集合 127
3.4.1 字典 127
3.4.2 dict() 128
3.4.3 hash()和可哈希 129
3.4.4 字典视图 130
3.4.5 字典获取值 133
3.4.6 字典的操作和方法 133
3.4.7 update()方法 134
3.4.8 字典的集合操作 135
3.4.9 字典的顺序 136
3.4.10 有序字典OrderedDict 136
3.4.11 映射链ChainMap 137
3.4.12 默认字典defaultdict 139
3.4.13 计数器Counter 140
3.4.14 字典的应用 141
3.4.15 集合 142
3.4.16 set() 143
3.4.17 集合的操作和方法 144
3.4.18 集合运算 144
3.4.19 冻结集合frozenset() 145
3.4.20 小结 147
3.5 可迭代对象 147
3.5.1 可迭代对象简介 147
3.5.2 星号解包 148
3.5.3 迭代器 151
3.5.4 iter()和next() 154
3.5.5 生成器和yield表达式 157
3.5.6 生成器表达式 159
3.5.7 send()方法 160
3.5.8 all()和any() 161
3.5.9 sorted() 163
3.5.10 reversed() 163
3.5.11 小结 164
3.6 本章小结 164
第4章 流程控制与函数 165
4.1 基础流程控制语句 165
4.1.1 while语句 165
4.1.2 if语句 167
4.1.3 break和continue 169
4.1.4 for语句 169
4.1.5 with语句 171
4.1.6 raise语句 173
4.1.7 try语句 174
4.1.8 赋值表达式(海象符运算) 176
4.1.9 小结 179
4.2 模式匹配 179
4.2.1 基本语法 179
4.2.2 约束项 180
4.2.3 字面值匹配 181
4.2.4 或模式 181
4.2.5 字面值与变量模式 182
4.2.6 值模式 182
4.2.7 类模式 183
4.2.8 序列模式 183
4.2.9 映射模式 184
4.2.10 子模式中的as 185
4.2.11 小结 185
4.3 函数 186
4.3.1 理解函数 186
4.3.2 定义函数 186
4.3.3 函数的调用 188
4.3.4 函数返回值 189
4.3.5 递归函数 189
4.3.6 小结 190
4.4 函数的参数 190
4.4.1 函数参数简介 190
4.4.2 位置参数 191
4.4.3 关键字参数 191
4.4.4 可变参数 191
4.4.5 星号参数 193
4.4.6 斜杠参数 193
4.4.7 小结 194
4.5 函数进阶 194
4.5.1 可调用对象 194
4.5.2 高阶函数 196
4.5.3 装饰器 197
4.5.4 匿名函数 198
4.5.5 断言 200
4.5.6 小结 201
4.6 常用内置函数 201
4.6.1 zip() 202
4.6.2 enumerate() 203
4.6.3 eval() 204
4.6.4 exec()和compile() 204
4.6.5 globals()和locals() 205
4.6.6 vars() 206
4.6.7 小结 207
4.7 常用高阶函数 207
4.7.1 map() 207
4.7.2 filter() 208
4.7.3 reduce() 209
4.7.4 partial() 209
4.7.5 @cache 210
4.7.6 @singledispatch 211
4.7.7 小结 211
4.8 本章小结 212
第5章 类与模块 213
5.1 类的特征 213
5.1.1 类和对象 213
5.1.2 封装 214
5.1.3 继承 214
5.1.4 多态 214
5.1.5 小结 215
5.2 定义类 215
5.2.1 创建自定义类 215
5.2.2 类属性 216
5.2.3 实例化 217
5.2.4 私有变量 218
5.2.5 类的继承 219
5.2.6 类方法 221
5.2.7 静态方法 222
5.2.8 特殊方法 222
5.2.9 __new__
和__init__
223
5.2.10 __str__
和__repr__
224
5.2.11 __call__
225
5.2.12 小结 226
5.3 关于类的函数 226
5.3.1 super() 226
5.3.2 object() 227
5.3.3 type() 228
5.3.4 关于对象属性的函数 229
5.3.5 partialmethod()偏方法 230
5.3.6 @property修饰方法 232
5.3.7 @cached_property缓存属性 233
5.3.8 小结 233
5.4 类型注解 234
5.4.1 类型注解简介 234
5.4.2 语法简介 234
5.4.3 基本数据类型注解 235
5.4.4 容器类型注解 236
5.4.5 函数注解 237
5.4.6 鸭子类型注解 237
5.4.7 小结 238
5.5 模块与库 238
5.5.1 什么是模块与库 238
5.5.2 编写模块 239
5.5.3 库的导入 241
5.5.4 库的常用属性 242
5.5.5 import()和importlib 243
5.5.6 第三方库管理 243
5.5.7 小结 245
5.6 本章小结 245
第6章 常用内置库 246
6.1 random生成伪随机数 246
6.1.1 随机生成一个数 246
6.1.2 随机生成一个序列 247
6.1.3 随机打乱顺序 248
6.1.4 让结果复现 248
6.1.5 小结 249
6.2 字符串操作 249
6.2.1 string的常见字符串操作 249
6.2.2 base64编解码 251
6.2.3 JSON编码和解码器 252
6.2.4 小结 254
6.3 正则表达式操作 254
6.3.1 正则表达式 255
6.3.2 re的函数 256
6.3.3 正则对象 257
6.3.4 匹配对象 258
6.3.5 小结 259
6.4 日期和时间 259
6.4.1 时间对象类型 260
6.4.2 date日期对象 260
6.4.3 time时间对象 262
6.4.4 datetime日期时间对象 263
6.4.5 timedelta间隔时间对象 266
6.4.6 timezone时区 266
6.4.7 strftime()和strptime() 267
6.4.8 小结 268
6.5 枚举类型 268
6.5.1 枚举简介 268
6.5.2 创建一个枚举类 269
6.5.3 枚举对象的属性和操作 270
6.5.4 枚举的比较 271
6.5.5 枚举值的唯一性 272
6.5.6 小结 273
6.6 本章小结 273
第7章 数据科学 274
7.1 NumPy 274
7.1.1 数据结构 275
7.1.2 数据类型 276
7.1.3 广播计算 278
7.1.4 数组的轴 279
7.1.5 数组创建 281
7.1.6 随机数组 283
7.1.7 通用函数 286
7.1.8 小结 286
7.2 pandas 287
7.2.1 数据结构 287
7.2.2 数据读取与导出 290
7.2.3 数据筛选 290
7.2.4 数据修改 293
7.2.5 应用函数 294
7.2.6 分组聚合 296
7.2.7 小结 296
7.3 案例:利用广播机制去除错误
数据 297
7.3.1 需求分析 297
7.3.2 实现思路 297
7.3.3 实现过程 298
7.3.4 小结 298
7.4 案例:计算客户还够低还款
额的日期 299
7.4.1 需求分析 299
7.4.2 单个客户数据计算 299
7.4.3 计算单用户日期 300
7.4.4 封装函数 301
7.4.5 分组应用函数 301
7.4.6 小结 302
7.5 案例:读取并解析实验数据 302
7.5.1 需求分析 302
7.5.2 思路分析 303
7.5.3 编写代码 303
7.5.4 优化代码 304
7.5.5 小结 305
7.6 数据可视化 305
7.6.1 Matplotlib 306
7.6.2 pandas可视化 308
7.6.3 seaborn 310
7.6.4 Plotly 312
7.6.5 pyecharts 315
7.6.6 小结 317
7.7 本章小结 318
第8章 办公自动化 319
8.1 Excel操作案例 319
8.1.1 Excel数据填充 319
8.1.2 Excel合并工作表 322
8.1.3 按分组拆分Excel文件 326
8.1.4 按列拆分Excel文件 327
8.1.5 导出带指定格式的Excel
文件 328
8.1.6 小结 329
8.2 Excel处理库 330
8.2.1 XlsxWriter简介 330
8.2.2 用XlsxWriter生成带折线图
的Excel文件 332
8.2.3 openpyxl简介 334
8.2.4 用openpyxl创建绘图
文件 335
8.2.5 xlwings简介 337
8.2.6 用xlwings创建绘图文件 338
8.2.7 小结 340
8.3 Word处理 340
8.3.1 python-docx简介 341
8.3.2 docxtpl简介 342
8.3.3 批量生成证明文件 344
8.3.4 生成Word表格 349
8.3.5 小结 352
8.4 本章小结 352
第9章 图形及界面 353
9.1 生成证书图片 353
9.1.1 需求描述 353
9.1.2 读取图片 354
9.1.3 合成文字 355
9.1.4 合成公章 356
9.1.5 封装为函数 357
9.1.6 小结 358
9.2 编写一个时钟 359
9.2.1 定义窗体 359
9.2.2 定义显示逻辑 360
9.2.3 让时钟动起来 361
9.2.4 封装为类 361
9.2.5 小结 363
9.3 界面程序进阶 363
9.3.1 窗体设计 363
9.3.2 优化窗体显示 364
9.3.3 获取交互动作 365
9.3.4 输入判断 366
9.3.5 绑定操作 366
9.3.6 最终代码 367
9.3.7 小结 368
9.4 本章小结 368
第10章 Web开发 369
10.1 用Flask开发成绩查询系统 369
10.1.1 需求分析 369
10.1.2 创建一个Flask项目 370
10.1.3 开发查询页 373
10.1.4 编写查询逻辑 375
10.1.5 开发查询结果页 376
10.1.6 开发结果页模板 377
10.1.7 功能验证 378
10.1.8 小结 379
10.2 用Django开发个人博客 379
10.2.1 需求分析 380
10.2.2 创建Django项目 380
10.2.3 创建模型 383
10.2.4 搭建管理后台 385
10.2.5 安装富文本编辑器 387
10.2.6 增加URL路由逻辑 389
10.2.7 开发内容页 389
10.2.8 开发首页 392
10.2.9 开发分类列表页 393
10.2.10 小结 395
10.3 本章小结 395
更新时间:2023-07-06 09:27:07 标签:python 书籍 简介