作为生产力工具,Python是当今极为流行的编程语言。Python编程逐渐成为一项通用能力,从小学生到各个行业的从业人员都在学Python。Python确实能够在很多领域发挥作用,以至于Python编程已经成为一些职业的加分项甚至必备能力。
市面上的Python书繁多,新入行的朋友问的最多的问题就是如何挑选一本好的入门书?这真是个让人很头疼的问题!
知识点堆砌,杂而不精脱
离实际开发需求详略
设置不合理
学习曲线过于陡峭
案例过于炫技
不注重学习
过程和结果
以上是Python入门书的通病,今天推荐的这本《Python之光》,
将重新定义Python学习:扫码了解,各大电商平台有售
本书将带领读者快速掌握Python语言的最新特性、最新编程方法和最佳实践,让读者学完本书后具备项目实战能力,能用Python解决实际工作中的问题。
亮点
零基础,尽量不使用专业词汇,不需要任何背景知识;
语言通俗易懂,讲解深入浅出,内容详略得当;
代码简洁,变量命名尽量使用简单单词;
知识全面,讲解精练,涵盖最新的语言特性;
知识结构设计合理,学习曲线平滑;
面向应用,讲解必备的第三方库,配有经典、实用的案例。
另外,本书不堆砌知识,而是合理编排内容,从总到分,从原理到细节,从理论到实例,根据读者的学习心智模型层层递进。在应用部分,本书选取了数据科学(数据处理、数据分析、数据可视化)、办公自动化(对Word、Excel的操作)、图形及界面、Web开发等领域的案例,引导读者在实践中应用Python。这些案例非常有代表性,且均有详细的代码讲解。
配套
《Python之光》提供海量免费配套资源,包括100个视频、1600个实战案例、源代码下载、高品质练习题、作者提供全程辅导、思维导图呈现全书知识精华、配套完整教学PPT,让学习过程直观易懂。
无论学习者的年龄、职业或行业,都能轻松入门Python编程。《Python之光》为初学者提供了极简的入门之路,是入门Python编程的不二之选。
适配版本:本书基于Python 3.11(本书代码最低适配版本Python3.10)
目录
上拉下滑查看目录 ↓
第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
强力推荐