书籍作者:雨痕 | ISBN:9787121332746 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:4902 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
近几年Python在机器学习、数据分析、运维等方面表现十分抢眼,已经成为求职必须掌握的主要语言之一。本书分为两卷,上卷详解语言(基于Python 3.6),下卷分析标准库,涵盖Python编程中的高级问题,剖析语言相关背景和实现方式,帮助读者用好这一门优雅的语言。
人们都认为Python简单易学,但其实Python 的复杂程度要远高出许多人的设想,诸多概念被隐藏在看似简单的代码背后。这也是Python易学难精的主要原因。对一门语言的学习如果仅停留在语言规范层面,经不起实战的考验。本书试图从Python 3的解释器入手,剖析语言背后的实现,帮助读者修炼Python技能,不仅会用,还用得好,用得妙。
前言
写作本书时,我已然摆脱“萌新”身份,算是稍有经验的作者。可即便如此,我依然无法保证本书的内容完全正确,且满足所有人的胃口。显然,这不可能做到。
在我看来,图书大抵分两类:学习和研究。学习类书籍满足日常学习和提升需要,用简练的语言把问题说清楚。最关键的是有清晰的线索,把散乱的知识串联起来,学习者可据此了解前因后果。至于研究类图书或论文,则应摆脱基础,摆脱语法,重点关注算法、架构、性能,乃至内部实现。所有这些,均以思想为支撑,超脱语言窠臼,构建并完善体系。
不同于写散文或小说,技术类图书的文字不好组织。自然语言易阅读,但不便描述有复杂流程分支的逻辑,易导致歧义。更何况,这其中还有各种转译带来的麻烦。故技术类图书应以自然语言开宗明义,阐述理论与规则,随后用代码对这段文字进行解释,毕竟代码先天有描述逻辑的优势。
很多书,尤其是英文版的图书,习惯于用大量篇幅对代码示例做各种讲解。我感觉这有些啰唆,想必很少有人去读第二遍,大家最多也就是用记号笔画出重点而已。既然如此,我们为何不信读者能阅读并理解这些代码呢?这本来就是程序员吃饭的本钱,最多在关键位置辅以注释便可。当然,阅读前提怕是要设定为非入门读者。好在我一再强调自己写的是第二本书,或曰“闲书”。
在本书中,对于理论层面,我会尝试说得明白些。当然,书中还会引入一些类比,这些类比或许不是非常合适,但却可以加深读者对相关问题的理解,毕竟不是所有人都能明白那些云里雾里的抽象理念。一如上面所言,文字与代码相辅相成,我们应静下心来用代码去验证文字背后的含义。在我眼里,代码也是一种自然语言,缩排跳转仿若图形,本就是最好的笔记注释。起码它离机器语言上有些距离,是为了便于人类阅读而发明的。
无论我说得多悦耳动听,这终归只是一本学习笔记,算不上专业,仅适合读者闲暇时翻阅一二。
关于本书
全套书分为上下两卷。上卷以语言为主,基本涵盖语言相关内容,包括语法、测试、调试,乃至解释器等层面的基本知识。下卷计划以标准库、优秀扩展库、并发编程,以及架构设计展开,算是对上卷“闲书”稍加修正。
书中示例运行环境:macOS 10.12,CPython 3.6,IPython 6.2
鉴于不同运行环境的差异性,示例输出结果(尤其是id、内存地址等信息)会有所不同。另外,为阅读方便,本书对输出结果做了裁剪处理,请以实际运行结果为准。
读者定位
本书着重于剖析语言的相关背景和实现方式,适合有一定 Python 编程基础的读者(比如准备从Python 2.7升级到Python 3.6环境的读者)阅读。至于初学者,建议寻找从零开始、循序渐进地介绍如何编写代码的其他图书为佳。
联系方式
鄙人能力有限,书中难免存在错漏之处。读者如在阅读过程中发现任何问题,请与我联系,以便更正。谢谢!
? 邮件:[email protected]
? 微博:weibo.com/qyuhen
雨 痕
二〇一七年,仲秋
第1章 概述
第2章 类型
2.1 基本环境
2.1.1 印象
2.1.2 名字
2.1.3 内存
2.1.4 编译
2.1.5 执行
2.2 内置类型
2.2.1 整数
2.2.2 浮点数
2.2.3 字符串
2.2.4 字节数组
2.2.5 列表
2.2.6 字典
2.2.7 集合
第3章 表达式
3.1 词法
3.1.1 源文件
3.1.2 代码
3.2 赋值
3.2.1 增量赋值
3.2.2 序列解包
3.2.3 作用域
3.3 运算符
3.3.1 链式比较
3.3.2 切片
3.3.3 逻辑运算
3.4 控制流
3.4.1 选择
3.4.2 循环
3.5 推导式
第4章 函数
4.1 定义
4.2 参数
4.3 返回值
4.4 作用域
4.5 闭包
4.6 调用
第5章 迭代器
5.1 迭代器概述
5.2 生成器
5.3 模式
5.4 函数式编程
第6章 模块
6.1 定义
6.2 导入
6.2.1 搜索
6.2.2 编译
6.2.3 引用
6.3 包
6.3.1 初始化
6.3.2 相对导入
6.3.3 拆分
第7章 类
7.1 定义
7.2 字段
7.3 属性
7.4 方法
7.5 继承
7.5.1 统一类型
7.5.2 初始化
7.5.3 覆盖
7.5.4 多继承
7.5.5 抽象类
7.6 开放类
7.7 运算符重载
第8章 异常
8.1 异常概述
8.2 断言
8.3 上下文
第9章 元编程
9.1 装饰器
9.1.1 实现
9.1.2 应用
9.2 描述符
9.3 元类
9.3.1 自定义
9.3.2 应用
9.4 注解
第10章 进阶
10.1 解释器
10.1.1 字节码
10.1.2 全局锁
10.1.3 执行过程
10.1.4 内存分配
10.1.5 垃圾回收
10.2 扩展
10.2.1 ctypes
10.2.2 Cython
第11章 测试
11.1 单元测试
11.1.1 unittest
11.1.2 unittest.mock
11.1.3 coverage
11.2 性能测试
11.2.1 timeit
11.2.2 profile
11.2.3 line profiler
11.2.4 memory profiler
11.2.5 pympler
第12章 工具
12.1 调试器
12.2 包管理
Python进阶书,以dis的方式剖析语法,涉及到cpython的实现,顺带简单提了字节码、gil、解释器、内存分配以及垃圾回收的实现
2018-03-04