流畅的Python PDF下载高清完整扫描原版

书名:流畅的Python
作者:[巴西] Luciano Ramalho
译者:安道 吴珂
ISBN:978-7-115-45415-7

需要学习的朋友可以通过网盘下载pdf版 http://tadown.com/fs/cyibbebnsahu08034/

目标读者
本书的目标读者是那些正在使用 Python,又想熟悉 Python 3 的程序员。
如果你懂 Python 2,但是想迁移到 Python 3.4 或者更新的版本,也没问
题。在写这本书的时候,大多数专业 Python 程序员用的还是 Python 2,
因此如果书中出现来自 Python 3 的特性,读者可能会感到陌生,我也会
特别地做出解释。
然而,本书的主要目的是为了充分地展现 Python 3.4 的魅力,因此我不
会一字一句地说明如何让本书的代码在旧版本里正常运行。本书中的大
多数例子稍做修改(甚至不用修改)就可以在 Python 2.7 里面跑起来,
但是有些例子,如果追求向下兼容,就会需要大量的重写。
话虽如此,我还是认为,即便你无法从 Python 2.7 里脱身,这本书也会
对你很有帮助,因为 Pyhon 语言的核心概念是不会变的。Python 3 也不
是一门全新的语言,大多数的改动花一下午大概就能适应,官方文档
里“Python 3.0 的新特性”一节
(https://docs.python.org/3.0/whatsnew/3.0.html)就是很好的切入点。固
然,自 2009 年发布以来,Python 3.0 也在变化,但是这些变化比起
Python 3.0 和 Python 2.0 之间的区别,并没有那么重要。
如果你尚不清楚自己对 Python 的熟悉程度能否跟得上本书的内容,建议
你回头看看 Python 的官方教程。注意,除非是跟 Python 3 的新特性有
关,教程里的其他内容本书不会重复。
非目标读者
如果你才刚刚开始学 Python,本书的内容可能会显得有些“超纲”。比难
懂更糟的是,如果在学习 Python 的过程中过早接触本书的内容,你可能
会误以为所有的 Python 代码都应该利用特殊方法和元编程
(metaprogramming)技巧。我们知道,不成熟的抽象和过早的优化一
样,都会坏事。
本书的结构
如果你是本书的目标读者,那你应该可以从本书的任意一章开始阅读,
但是如果按照我写作时的构思来的话,本书一共分为六个独立的部分,
每个部分内的章节最好按照顺序来读。
在介绍让你自己实现某些功能的方法之前,我通常会先把现成可用的工
具讲清楚。比如说第二部分的第 2 章覆盖了序列类型(sequence
type),但是像 collections.deque 这种类可能就会一带而过。一直
到第四部分,我们才会看看如何从抽象基类(abstract base class,
ABC)中获利,抽象基类则被封装在 collections.abc 这个包里。如
果想创建自己的 ABC,你可能得看到第四部分的最后一些内容才行,
因为我一直觉得,如果没有熟练使用 ABC 的经验,贸然去实现一套自
己的东西是不合适的。
这样做有几个好处。第一,知道有什么现成的工具可用,能避免重新发
明轮子。毕竟我们使用现有集合类型(collection type)的概率要远大于
自己动手写一套新的。第二,这样一来,在讨论如何写新类型之前,我
们能够有更多的机会来了解这些现成类的高级用法。第三,比起从零开
始构建一个 ABC,继承已有的 ABC 库应该会简单一些。最后,我认为
在看过一些实际的案例之后,理解抽象会更轻松。
当然,这样也会带来一些不便之处,比如书里的向前引用就会分散在各
个不同的章节里面。但是经过上述这番梳理,我想这一点不便之处也是
可以容忍的。
下面是本书每一部分的主题
第一部分
  第一部分只有单独的一章,讲解的是 Python 的数据模型(data
model),以及如何为了保证行为一致性而使用特殊方法(比如
__repr__),毕竟 Python 的一致性是出了名的。其实整本书几乎都是
在讲解 Python 的数据模型,第 1 章算是一个概览。
第二部分
  第二部分包含了各种集合类型:序列(sequence)、映射
(mapping)和集合(set),另外还提及了字符串(str)和字节序列
(bytes)的区分。说起来,最后这一点也是让亲者(Python 3 用户)
快,仇者(Python 2 用户)痛的一个关键,因为这个区分致使 Python 2
代码迁移到 Python 3 的难度陡增。第二部分的目标是帮助读者回忆起
Python 内置的类库,顺带解释这些类库的一些不太直观的地方。具体的
例子有 Python 3 如何在我们观察不到的地方对 dict 的键重新排序,或
者是排序有区域(locale)依赖的字符串时的注意事项。为了达到本部
分的目标,有些地方的讲解会比较大而全,像序列类型和映射类型的变
种就是这样;有时则会写得很深入,比方说我会对 dict 和 set 底层的
散列表进行深层次的讨论。
第三部分
  如何把函数作为一等对象(first-order object)来使用。第三部分首
先会解释前面这句话是什么意思,然后话题延伸到这个概念对那些被广
泛使用的设计模型的影响,最后读者会看到如何利用闭包(closure)的
概念来实现函数装饰器(function decorator)。这一部分的话题还包括
Python 的这些基本概念:可调用(callable)、函数属性(function
attribute)、内省(introspection)、参数注解(parameter annotation)和
Python 3 里新出现的 nonlocal 声明。
第四部分
  到了这里,书的重点转移到了类的构建上面。虽然在第二部分里的
例子里就有类声明(class declaration)的出现,但是第四部分会呈现更
多的类。和任何面向对象语言一样,Python 还有些自己的特性,这些特
性可能并不会出现在你我学习基于类的编程的语言中。这一部分的章节
解释了引用(reference)的原理、“可变性”的概念、实例的生命周期、
如何构建自定义的集合类型和 ABC、多重继承该怎么理顺、什么时候
应该使用操作符重载及其方法。
第五部分
  Python 中有些结构和库不再满足于诸如条件判断、循环和子程序
(subroutine)之类的顺序控制流程,第五部分的笔墨会集中在这些构造
和库上。我们会从生成器(generator)起步,然后话题会转移到上下文
管理器(context manager)和协程(coroutine),其中会涵盖新增的功能
强大但又不容易理解的 yield from 语法。这一部分以并发性和面向事
件的 I/O 来结尾,其中跟并发性相关的是 collections.futures 这个
很新的包,它借助 futures 包把线程和进程的概念给封装了起来;而
跟面向事件 I/O 相关的则是 asyncio,它的背后是基于协程和 yield
from 的 futures 包。
第六部分
  第六部分的开头会讲到如何动态创建带属性的类,用以处理诸如
JSON 这类半结构化的数据。然后会从大家已经熟悉的特性(property)
机制入手,用描述符从底层来解释 Python 对象属性的存取。同时,函
数、方法和描述符的关系也会被梳理一遍。第六部分会从头至尾地实现
一个字段验证器,在这个过程中我们会遇到一些微妙的问题,然后在最
后一章中就自然引出像类装饰器(class decorator)和元类(metaclass)
这些高级的概念。
以实践为基础
一般情况下,我们会用 Python 的交互式控制台来探索各种库和语言本
身。有些读者可能对静态的需要编译的语言更熟悉,但是这些语言可能
不会提供 REPL(read-eval-print loop,读取、求值、输出的循环)。在
这里我想强调一下 Python 交互式控制台,也就是 REPL,作为一个学习
工具的重要性。
doctest(https://docs.python.org/3/library/doctest.html)是 Python 的一个标
准库,做测试用的。这个库通过模拟控制台对话来检验表达式求值是否
正确,而本书中几乎所有代码的测试,包括那些在控制台里的输出,都
是通过这个库来进行的。doctest 看起来就像是 Python 交互式控制台的剧
本,你甚至都不需要了解它背后的运行机制就可以直接用它来试验书里
的例子。
我有时为了事先说明一段代码的目的,会在展示代码之前先摆出相应的
doctest 文本。这是因为我认为,在考虑如何实现一个功能之前,先严格
地列出这个功能能做什么,这能帮助我们在编程时把精力花在该花的地
方。测试驱动开发(TDD)的精髓就是先写测试,我后来发现这种精神
在教学中也是大有益处的。如果你对 doctest 还不熟悉,花点时间阅读
它的文档(https://docs.python.org/3/library/doctest.html)。结合本书的源
码(https://github.com/fluentpython/example-code),你可以在操作系统的
控制台里键入 python3 -m doctest example_script.py 来验证书
中几乎所有代码的正确性。
硬件
书中有一些简单的时间和基准测试,跑这些测试的时候我用的是写书时
的两台笔记本电脑。一台是产于 2011 年的 MacBook Pro 13 英寸笔记
本,配置是 2.7 GHz 的英特尔 Core i7 处理器、8GB 的内存和机械硬
盘;另一台是产于 2014 年的 MacBook Air 13 英寸笔记本,配置是 1.4
GHz 的英特尔 Core i5 处理器、4GB 内存和一个固态硬盘。MacBook Air
的处理器虽然慢一些,内存也没有另一台多,但是它的内存快一些
(1600 MHz,MacBook Pro 13 英寸则是 1333 MHz),另外它的硬盘也
更快,因此在日常使用中我并没有感觉到两台笔记本有速度上的差异。
杂谈:个人的一点看法
从 1998 年起,我一直在使用 Python,也做 Python 教学,另外还一直在
为它辩护。我一直都很享受这个过程,尤其是喜欢研究 Python 同其他语
言在设计和理论上的不同。因此在有些章节的最后,我会加上一点自己
对 Python 以及其他语言的看法,我把这部分叫作“杂谈”。如果你对这些
东西不感兴趣,跳过即可,因为这些并不是必读的。

第 1 章 Python 数据模型

第 2 章 序列构成的数组

第 3 章 字典和集合

第 4 章 文本和字节序列

第 5 章 一等函数

第 6 章 使用一等函数实现设计模

第 7 章 函数装饰器和闭包

第 8 章 对象引用、可变性和垃圾
回收

第 9 章 符合Python风格的对象

第 10 章 序列的修改、散列和切

第 11 章 接口:从协议到抽象基

第 12 章 继承的优缺点

第 13 章 正确重载运算符

第 14 章 可迭代的对象、迭代器
和生成器

第 15 章 上下文管理器和 else 块

第 16 章 协程

第 17 章 使用期物处理并发

第 18 章 使用 asyncio 包处理并

第 19 章 动态属性和特性

第 20 章 属性描述符

第 21 章 类元编程

原文地址:https://www.cnblogs.com/liulangdemao/p/9103066.html

时间: 2024-07-29 16:44:52

流畅的Python PDF下载高清完整扫描原版的相关文章

写给大家看的设计书(第3版)PDF下载高清完整扫描原版

这本书出自一位世界级设计师之手.复杂的设计原理在书中凝炼为亲密性.对齐.重复和对比4 个基本原则.作者以其简洁明快的风格,将优秀设计所必须遵循的这4 个基本原则及其背后的原理通俗易懂地展现在读者面前.本书包含大量的示例,让你了解怎样才能按照自己的方式设计出美观且内容丰富的产品. 此书适用于各行各业需要从事设计工作的读者,也适用于有经验的设计人员.需要学习的朋友可以通过网盘下载pdf版 http://putpan.com/fs/8y1i5bce5n5s1h8u0/ 作者简介 Robin Willi

设计师要懂心理学PDF下载高清完整扫描原版

花了大概2个小时的零散时间扫读完,书中提炼了很多结论性的东西可以值得参考,互联网实在变化太快,有些理论可能已经不适用当前,但里面的分析方法可以尝试运用,越来越发现,读书到最后 结果不是关键,重要的是将不同的内容关联起来 并予以运用实践. 需要学习的朋友可以通过网盘免费下载pdf版 http://putpan.com/fs/byfi1b3e4nas6h0u0/ 内容简介  · · · · · · 国际知名的设计心理学专家的全新力作,内容面向未来.与时俱进,以创造直观.易用而又有吸引力的设计为宗旨,

JavaBean规范官方文档 PDF下载高清完整扫描原版

这本书我看了电子版的,感觉还不错,需要学习的朋友可以通过网盘免费下载pdf版 (先点击普通下载-----再选择普通用户就能免费下载了) http://putpan.com/fs/7yib0ensahu696615/ 需要IT编程经典书籍资源大合集百度网盘链接的加qq 2057904338,另本人愿意有偿带小白学python,帮助你答疑解惑,帮助你解决问题,指导你找工作,带你入行.相信我有人带着你的话可以少走弯路,成功入行拿高薪.北京地区周六日可上门指导,非北京线上指导.本人前每日优鲜后端工程师,

深入浅出设计模式 PDF下载高清完整扫描原版

这是我看过最幽默最搞笑最亲切同时又让我收获巨大的技术书籍!森森的膜拜Freeman(s)!Amen!深入浅出,娓娓道来,有的地方能笑死你!不知是翻译还是原著的问题,有几个小地方有点小错误,个人观点,值得商榷.但是瑕不掩瑜啦! 需要学习的朋友可以通过网盘免费下载pdf版 (先点击普通下载-----再选择普通用户就能免费下载了)http://putpan.com/fs/7yib3enschu081088/ 内容简介  · · · · · · <深入浅出设计模式>(影印版)的编写运用许多最新的研究,

HTML与CSS入门经典(第7版) PDF下载高清完整原版

需要学习的朋友可以通过网盘免费下载pdf版 http://putpan.com/fs/7yi6be2ns3hucc8a1/ 内容简介  · · · · · · 梅洛尼.莫里森编著的<HTML与CSS入门经典(第8版)>是畅销图书 <HTML与CSS入门经典>的最新版,和过去的版本相同,本书仍然采用直观 .循序渐进的方法来为读者讲解使用HTML与CSS创建并发布网页的过程,以 方便读者掌握.<HTML与CSS入门经典(第8版)>总共分为24章和1个附录 ,其涵盖的内容有理

分享 《流畅的Python》(高清中文版PDF+高清英文版PDF+源代码)

下载:https://pan.baidu.com/s/1sbULcR8c9odYbyPhetzM7g <流畅的Python>(高清中文版PDF+高清英文版PDF+源代码) 久负盛名的python入门书籍.高清中文版和高清英文版,配套源代码.中文和英文两版对比学习, 带目录书签,可复制粘贴:讲解详细并配有源代码. 其中,高清中文版如图: 原文地址:http://blog.51cto.com/3215120/2301136

【PDF下载】流畅的Python PDF下载

网盘下载地址:流畅的Python PDF下载 – 易分享电子书PDF资源网 作者: [巴西] Luciano Ramalho 出版社: 人民邮电出版社 原作名: Fluent Python 译者: 安道 / 吴珂 出版年: 2017-5-15 页数: 628 定价: 139元 装帧: 平装 丛书: 图灵程序设计丛书 内容简介 · · · · · · 技术大咖推荐] “很荣幸担任这本优秀图书的技术审校.这本书能帮助很多中级Python程序员掌握这门语言,我也从中学到了相当多的知识!”——Alex

流畅的Python PDF下载

网盘下载地址:流畅的Python PDF下载 – 易分享电子书PDF资源网 作者: [巴西] Luciano Ramalho 出版社: 人民邮电出版社 原作名: Fluent Python 译者: 安道 / 吴珂 出版年: 2017-5-15 页数: 628 定价: 139元 装帧: 平装 丛书: 图灵程序设计丛书 内容简介 · · · · · · 技术大咖推荐] “很荣幸担任这本优秀图书的技术审校.这本书能帮助很多中级Python程序员掌握这门语言,我也从中学到了相当多的知识!”——Alex

《流畅的Python》(高清中文版PDF+高清英文版PDF+源代码)

下载:https://pan.baidu.com/s/1sbULcR8c9odYbyPhetzM7g 久负盛名的python入门书籍.高清中文版和高清英文版,配套源代码.中文和英文两版对比学习, 带目录书签,可复制粘贴:讲解详细并配有源代码. 其中,高清中文版如图: 原文地址:http://blog.51cto.com/3215120/2306889