内容简介
Python的简洁让你可以快速达到高产水平,但是这通常意味着你并没有用到它提供的所有功能特性。
有了《流利的Python语言(影印版 英文版)》,你将学会如何利用那些很容易被忽视的特性来编写有效且通顺的Python代码。作者Luciano Ramalho将带领你们遍历Python的核心语言特性和程序库,并展示精简代码、优化速度和可读性的方法。
很多富有经验的程序员尝试将Python扭曲成适合他们从其他语言中学到的模式,而从未发现超出他们经验的Python特性。通过《流利的Python语言(影印版 英文版)》,那些Python程序员将完全学会如何高效率地使用Python 3。
目录
Preface
Part I. Prologue
1. The Python Data Model
A Pythonic Card Deck
How Special Methods Are Used
Emulating Numeric Types
String Representation
Arithmetic Operators
Boolean Value of a Custom Type
Overview of Special Methods
Why len Is Not a Method
Chapter Summary
Further Reading
Part II. Data Structures
2. An Array of Sequences
Overview of Built-In Sequences
List Comprehensions and Generator Expressions
List Comprehensions and Readability
Listcomps Versus map and filter
Cartesian Products
Generator Expressions
Tuples Are Not Just Immutable Lists
Tuples as Records
Tuple Unpacking
Nested Tuple Unpacking
Named Tuples
Tuples as Immutable Lists
Slicing
Why Slices and Range Exclude the Last Item
Slice Objects
Multidimensional Slicing and Ellipsis
Assigning to Slices
Using + and * with Sequences
Building Lists of Lists
Augmented Assignment with Sequences
A += Assignment Puzzler
list.sort and the sorted Built-In Function
Managing Ordered Sequences with bisect
Searching with bisect
Inserting with bisect.insort
When a List Is Not the Answer
Arrays
Memory Views
NumPy and SciPy
Deques and Other Queues
Chapter Summary
Further Reading
3. Dictionaries and Sets
Generic Mapping Types
dict Comprehensions
Overview of Common Mapping Methods
Handling Missing Keys with setdefault
Mappings with Flexible Key Lookup
defaultdict: Another Take on Missing Keys
The___ missing___ Method
Variations of dict
Subclassing UserDict
Immutable Mappings
Set Theory
set Literals
Set Comprehensions
Set Operations
dict and set Under the Hood
A Performance Experiment
Hash Tables in Dictionaries
……
Part III. Functions as Objects
Part IV. Object-Orientedldioms
Part V. Control Flow
Part VI. Metaprogramming
Afterword
A. Support Scripts
Python Jargon
Index
精彩书摘
《流利的Python语言(影印版 英文版)》:
In concluding the chapter, we mentioned how several built—in types are registered to ABCs in the collections.abe module so you can ask isinstance(memoryview,abc.Sequence) and get True, even if memoryview does not inherit from abc.Se quence.And finally we went over the_subclasshook_magic, which lets an ABC recognize any unregistered class as a subclass, as long as it passes a test that can be as simple or as complex as you like—the examples in the standard library merely check for method names.
To sum up, I'd like to restate Alex Martelli's admonition that we should refrain from creating our own ABCs, except when we are building user—extensible frameworks—which most of the time we are not.On a daily basis, our contact with ABCs should be subclassing or registering classes with existing ABCs.Less often than subclassing or registering, we might use ABCs for isinstance checks.And even more rarely—ifever—we find occasion to write a new ABC from scratch.
……
流利的Python语言(影印版 英文版) [Fluent Python] 电子书 下载 mobi epub pdf txt