近几年Python在机器学习、数据分析、运维等方面表现十分抢眼,已经成为求职必须掌握的主要语言之一。本书分为两卷,上卷详解语言(基于Python 3.6),下卷分析标准库,涵盖Python编程中的高级问题,剖析语言相关背景和实现方式,帮助读者用好这一门优雅的语言。
基于Python 3.6
深入语言底层,分析解释器的工作机制
摆脱对Python易学难精的尴尬境地
助力从Python 2平滑过渡到Python 3
前言
写作本书时,我已然摆脱“萌新”身份,算是稍有经验的作者。可即便如此,我依然无法保证本书的内容完全正确,且满足所有人的胃口。显然,这不可能做到。
在我看来,图书大抵分两类:学习和研究。学习类书籍满足日常学习和提升需要,用简练的语言把问题说清楚。最关键的是有清晰的线索,把散乱的知识串联起来,学习者可据此了解前因后果。至于研究类图书或论文,则应摆脱基础,摆脱语法,重点关注算法、架构、性能,乃至内部实现。所有这些,均以思想为支撑,超脱语言窠臼,构建并完善体系。
不同于写散文或小说,技术类图书的文字不好组织。自然语言易阅读,但不便描述有复杂流程分支的逻辑,易导致歧义。更何况,这其中还有各种转译带来的麻烦。故技术类图书应以自然语言开宗明义,阐述理论与规则,随后用代码对这段文字进行解释,毕竟代码先天有描述逻辑的优势。
很多书,尤其是英文版的图书,习惯于用大量篇幅对代码示例做各种讲解。我感觉这有些啰唆,想必很少有人去读第二遍,大家最多也就是用记号笔画出重点而已。既然如此,我们为何不信读者能阅读并理解这些代码呢?这本来就是程序员吃饭的本钱,最多在关键位置辅以注释便可。当然,阅读前提怕是要设定为非入门读者。好在我一再强调自己写的是第二本书,或曰“闲书”。
在本书中,对于理论层面,我会尝试说得明白些。当然,书中还会引入一些类比,这些类比或许不是非常合适,但却可以加深读者对相关问题的理解,毕竟不是所有人都能明白那些云里雾里的抽象理念。一如上面所言,文字与代码相辅相成,我们应静下心来用代码去验证文字背后的含义。在我眼里,代码也是一种自然语言,缩排跳转仿若图形,本就是最好的笔记注释。起码它离机器语言上有些距离,是为了便于人类阅读而发明的。
无论我说得多悦耳动听,这终归只是一本学习笔记,算不上专业,仅适合读者闲暇时翻阅一二。
关于本书
全套书分为上下两卷。上卷以语言为主,基本涵盖语言相关内容,包括语法、测试、调试,乃至解释器等层面的基本知识。下卷计划以标准库、优秀扩展库、并发编程,以及架构设计展开,算是对上卷“闲书”稍加修正。
书中示例运行环境:macOS 10.12,CPython 3.6,IPython 6.2
鉴于不同运行环境的差异性,示例输出结果(尤其是id、内存地址等信息)会有所不同。另外,为阅读方便,本书对输出结果做了裁剪处理,请以实际运行结果为准。
读者定位
本书着重于剖析语言的相关背景和实现方式,适合有一定 Python 编程基础的读者(比如准备从Python 2.7升级到Python 3.6环境的读者)阅读。至于初学者,建议寻找从零开始、循序渐进地介绍如何编写代码的其他图书为佳。
联系方式
鄙人能力有限,书中难免存在错漏之处。读者如在阅读过程中发现任何问题,请与我联系,以便更正。谢谢!
? 邮件:qyuhen@hotmail.com
? 微博:weibo.com/qyuhen
雨 痕
二〇一七年,仲秋
P201:添加路径进 demo.pth , 运行
python -m site
为什么没有看到 demo.pth 里面的路径?site-packages/demo.pth
我在本地运行的时候(python3.6.4 win10 pycharm)/但是在cmd里面运行的结果跟书上的一样,我觉得这里应该做一个说明