猜你喜欢
Python精粹

Python精粹

书籍作者:David ISBN:9787121451638
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:3263
创建日期:2024-03-27 发布日期:2024-03-27
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
这是一本关于Python编程的书。它并不覆盖Python的方方面面,其重点是呈现现代且精选的Python语言核心,即侧重于Python编程本身。这包括抽象实现、程序结构、函数、对象与类型、协议、生成器、I/O、模块等主题,同时对Python常用的内置函数及标准库进行了简要介绍。这些内容能够有效帮助Python程序员应对各种项目规模的挑战。同时,本书通常会省略那些完全可以通过IDE轻松获取的参考内容(例如函数列表、命令名称、参数等),并特意不去描述Python编辑器工具、IDE、部署等快速变化的内容及相关问题。本书适合Python程序员及相关科学家、工程师、软件专业人士阅读。
作者简介
David M. Beazley是Python Essential Reference(第4版,Addison-Wesley,2010年出版)和Python Cookbook(第3版,O'Reilly,2013年出版)的作者。他目前在自己的公司Dabeaz教授计算机科学高级课程。自1996年以来,他一直在使用及教授Python,并进行Python方面的写作及演讲。
卢俊祥,网名2gua,书迷;关注Web技术趋势,热衷于App开发、Web开发、数据分析、架构设计以及各类编程语言;陈氏太极拳五十六式爱好者。主要译著有:《The Little Schemer:递归与函数式的奥妙》《SPA设计与架构:理解单页面Web应用》。
目录
1 Python基础 1
1.1 运行Python 1
1.2 Python程序 2
1.3 基本类型、变量与表达式 3
1.4 算术运算符 5
1.5 条件与控制流 7
1.6 文本串 9
1.7 文件输入与输出 12
1.8 列表 13
1.9 元组 15
1.10 Set 17
1.11 字典 18
1.12 迭代与循环 21
1.13 函数 23
1.14 异常 24
1.15 程序终止 26
1.16 对象和类 26
1.17 模块 30
1.18 脚本编写 33
1.19 包 34
1.20 构建应用程序 35
1.21 第三方包管理 36
1.22 Python让人感到舒适 37
2 运算符、表达式和数据操作 38
2.1 字面量 38
2.2 表达式与地址 39
2.3 标准运算符 40
2.4 就地赋值 42
2.5 对象比较 43
2.6 有序比较运算符 43
2.7 布尔表达式及真值 44
2.8 条件表达式 45
2.9 迭代操作 46
2.10 序列操作 48
2.11 可变序列操作 50
2.12 Set操作 51
2.13 映射操作 52
2.14 列表、Set与字典解析式 53
2.15 生成器表达式 55
2.16 特性(.)运算符 57
2.17 函数调用()运算符 57
2.18 求值顺序 57
2.19 最后的话:数据的秘密 59
3 程序结构与控制流 60
3.1 程序结构与执行 60
3.2 条件执行 60
3.3 循环与迭代 61
3.4 异常 65
3.4.1 异常层次 68
3.4.2 异常与控制流 69
3.4.3 定义新异常 70
3.4.4 链式异常 71
3.4.5 异常回溯 74
3.4.6 异常处理建议 74
3.5 上下文管理器和with语句 76
3.6 断言和__debug__ 78
3.7 最后的话 79
4 对象、类型和协议 80
4.1 核心概念 80
4.2 对象标识与类型 81
4.3 引用计数与垃圾回收 82
4.4 引用与复制 84
4.5 对象的表示与打印 85
4.6 头等对象 86
4.7 对可选的或缺失的数据使用None 88
4.8 对象协议及数据抽象 88
4.9 对象协议 90
4.10 数字协议 91
4.11 比较协议 93
4.12 转换协议 95
4.13 容器协议 96
4.14 迭代协议 98
4.15 特性协议 99
4.16 函数协议 100
4.17 上下文管理器协议 100
4.18 最后的话:关于Pythonic 101
5 函数 102
5.1 函数定义 102
5.2 缺省参数 102
5.3 可变参数 103
5.4 关键字参数 104
5.5 可变关键字参数 105
5.6 接受所有输入的函数 105
5.7 位置限定(Positional-Only)参数 106
5.8 名称、文档字符串和类型提示 107
5.9 函数应用及参数传递 108
5.10 返回值 110
5.11 错误处理 111
5.12 作用域规则 112
5.13 递归 115
5.14 lambda表达式 115
5.15 高阶函数 116
5.16 回调函数中的参数传递 119
5.17 从回调函数返回结果 123
5.18 装饰器 125
5.19 map、filter和reduce 128
5.20 函数自省、特性和签名 130
5.21 环境检查 133
5.22 动态代码的执行和创建 135
5.23 异步函数和await 136
5.24 最后的话:函数与组合的思考 138
6 生成器 139
6.1 生成器与yield 139
6.2 可重新启动的生成器 142
6.3 生成器委托 142
6.4 生成器实践 144
6.5 增强型生成器和yield表达式 146
6.6 增强型生成器的应用 148
6.7 生成器与await的联系 151
6.8 最后的话:生成器简史及展望 152
7 类和面向对象编程 153
7.1 对象 153
7.2 class语句 154
7.3 实例 155
7.4 特性访问 156
7.5 作用域规则 158
7.6 运算符重载及协议 159
7.7 继承 160
7.8 通过组合避免继承 163
7.9 通过函数避免继承 166
7.10 动态绑定和鸭子类型 167
7.11 继承内置类型的危险性 167
7.12 类变量和方法 169
7.13 静态方法 173
7.14 略谈设计模式 176
7.15 数据封装和私有特性 176
7.16 类型提示 179
7.17 属性 180
7.18 类型、接口和抽象基类 183
7.19 多重继承、接口和mixin 187
7.20 基于类型的分派 193
7.21 类装饰器 194
7.22 有监督的继承 197
7.23 对象生命周期与内存管理 200
7.24 弱引用 204
7.25 内部对象表示和特性绑定 206
7.26 代理、包装器和委托 208
7.27 使用__slots__减少内存 210
7.28 描述符 211
7.29 类定义过程 215
7.30 动态创建类 216
7.31 元类 218
7.32 用于实例和类的内置对象 222
7.33 最后的话:保持简单 223
8 模块和包 224
8.1 模块和import语句 224
8.2 模块缓存 226
8.3 从模块导入选定名称 227
8.4 循环导入 229
8.5 模块的重新加载与卸载 231
8.6 模块编译 232
8.7 模块搜索路径 232
8.8 作为主程序执行 233
8.9 包 234
8.10 包内导入 236
8.11 以脚本方式运行包的子模块 237
8.12 控制包命名空间 238
8.13 控制包的导出 239
8.14 包数据 240
8.15 模块对象 241
8.16 部署Python包 242
8.17 倒数第二句话:从一个包开始 244
8.18 最后的话:保持简单 244
9 输入与输出 245
9.1 数据表示 245
9.2 文本编码和解码 246
9.3 文本和字节格式化 248
9.4 读取命令行选项 252
9.5 环境变量 253
9.6 文件和文件对象 254
9.6.1 文件名称 255
9.6.2 文件模式 256
9.6.3 I/O缓冲 256
9.6.4 文本模式编码 257
9.6.5 文本模式行处理 257
9.7 I/O抽象层 258
9.8 标准输入、输出和错误 261
9.9 目录 262
9.10 print()函数 262
9.11 生成输出 263
9.12 消费输入 264
9.13 对象序列化 266
9.14 阻塞操作和并发 267
9.14.1 非阻塞I/O 268
9.14.2 I/O轮询 269
9.14.3 线程 269
9.14.4 使用asyncio并发执行 270
9.15 标准库模块 271
9.15.1 asyncio模块 271
9.15.2 binascii模块 272
9.15.3 cgi模块 273
9.15.4 configparser模块 274
9.15.5 csv模块 274
9.15.6 errno模块 275
9.15.7 fcntl模块 276
9.15.8 hashlib模块 276
9.15.9 http包 277
9.15.10 io模块 277
9.15.11 json模块 278
9.15.12 logging模块 278
9.15.13 os模块 279
9.15.14 os.path模块 279
9.15.15 pathlib模块 281
9.15.16 re模块 281
9.15.17 shutil模块 282
9.15.18 select模块 282
9.15.19 smtplib模块 283
9.15.20 socket模块 284
9.15.21 struct模块 286
9.15.22 subprocess模块 286
9.15.23 tempfile模块 287
9.15.24 textwrap模块 288
9.15.25 threading模块 289
9.15.26 time模块 291
9.15.27 urllib包 291
9.15.28 unicodedata模块 292
9.15.29 xml包 293
9.16 最后的话 294
10 内置函数和标准库 295
10.1 内置函数 295
10.2 内置异常 311
10.2.1 异常基类 311
10.2.2 异常特性 311
10.2.3 预定义异常类 312
10.3 标准库 315
10.3.1 collections模块 315
10.3.2 datetime模块 315
10.3.3 itertools模块 315
10.3.4 inspect模块 316
10.3.5 math模块 316
10.3.6 os模块 316
10.3.7 random模块 316
10.3.8 re模块 316
10.3.9 shutil模块 316
10.3.10 statistics模块 316
10.3.11 sys模块 316
10.3.12 time模块 316
10.3.13 turtle模块 317
10.3.14 unittest模块 317
10.4 最后的话:使用内置功能 317