《流畅的Python》这本书自面世以来就备受广大开发者的青睐,同时也是小编非常喜欢读的一本书。作为一本Python进阶的书籍,本书也不负众望,在里面基本上涵盖了Python进阶的方方面面(企鹅群:526929231 获取本书)。如果你没有读过《流畅的Python》,那么你可能还只是一个初级Python开发者。那么这里我就提纲挈领,跟大家简单的介绍下这本书。
本书的目标读者是那些正在使用Python(企鹅群:526929231 获取本书),又想熟悉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,本书的内容可能会显得有些“超纲”(企鹅群:526929231 获取本书)。比难懂更糟的是,如果在学习Python 的过程中过早接触本书的内容,你可能会误以为所有的Python 代码都应该利用特殊方法和元编程(metaprogramming)技巧。我们知道,不成熟的抽象和过早的优化一样,都会坏事。
本书致力于帮助Python开发人员挖掘这门语言及相关程序库的优秀特性,避免重复劳动,同时写出简洁、流畅、易读、易维护,并且具有地道Python风格的代码。本书尤其深入探讨了Python语言的高级用法,涵盖数据结构、Python风格的对象、并行与并发,以及元编程等不同的方面。
Luciano Ramalho,从1998年起就成为了Python程序员(企鹅群:526929231 获取本书)。他是Python软件基金会的成员,Python.pro.br(巴西的一家培训公司)的共同所有者,还是巴西众创空间Garoa Hacker Clube的联合创始人。他领导过多个软件开发团队,还在巴西的媒体、银行和政府部门教授Python课程。
安道,专注于现代计算机技术的自由翻译,译有《Flask Web 开发》《Python 网络编程攻略》《Ruby on Rails 教程》等书。
吴珂,现为Airbnb公司软件工程师,所在团队主要负责开发和维护各类可伸缩、高性能服务,并在Airbnb内推广面向服务的系统架构。在分布式系统、云存储服务和跨平台SDK开发,以及大规模数据处理等方面有多年经验。
“很荣幸担任这本优秀图书的技术审校(企鹅群:526929231 获取本书)。这本书能帮助很多中级Python程序员掌握这门语言,我也从中学到了相当多的知识!” ——Alex Martelli,Python软件基金会成员
“对于想要扩充知识的中级和高级Python程序员来说,这本书是充满了实用编程技巧的宝藏。” ——Daniel和Audrey Roy Greenfeld,Two Scoops of Django作者
本书由奋战在Python开发一线近20年的Luciano Ramalho执笔(企鹅群:526929231 获取本书),Victor Stinner、Alex Martelli等Python大咖担纲技术审稿人,从语言设计层面剖析编程细节,兼顾Python 3和Python 2,告诉你Python中不亲自动手实践就无法理解的语言陷阱成因和解决之道,教你写出风格地道的Python代码。
● Python数据模型:理解为什么特殊方法是对象行为一致的关键。
● 数据结构:充分利用内置类型,理解Unicode文本和字节二象性。
● 把函数视作对象:把Python函数视作一等对象,并了解这一点对流行的设计模式的影响。
● 面向对象习惯用法:通过构建类学习引用、可变性、接口、运算符重载和多重继承。
● 控制流程:学习使用上下文管理器、生成器、协程,以及通过concurrent.futures和asyncio包实现的并发。
● 元编程:理解特性、描述符、类装饰器和元类的工作原理。
第一章:Python数据模型
第二章:数据结构
第三章:字典和集合
第四章:文本和字节序列
第五章:一等函数
第六章:使用一等函数实现设计模式
第七章:函数装饰器和闭包
第八章:面向对象惯用法
第九章:符合Python风格的对象
第十章:序列的修改、散列和切片
第十一章:从协议到抽象基类
第十二章:继承的优缺点
第十三章:正确重载运算符
第十四章:可迭代的对象、迭代器和生成器
第十五章:上下文管理器和else块
第十六章:协程
第十七章:使用期物处理并发
第十八章:使用asyncio包处理并发
第十九章:动态属性和特性
第二十章:属性描述符
第二十一章:类元编程
看完以上内容后,相信你在Python代码中如果再碰到异常,知道该如何处理了。那么本教程的目的也就达到了。如果你还想继续学习Python,欢迎加入企鹅群(526929231)里面有很多资料和大神,为你的学习如虎添翼!最后再放一张我的偶像龟叔来作为本教程的镇楼之照,是他给我们创造了如此好用的编程语言,我们应该像感激上帝一样感激他!