![]()
内容推荐 别浪费时间让Python去适应你在其他语言中学到的模式。尽管Python的简单性可迅速提高你的工作效率,但这往往意味着你并未运用该语言所提供的所有特性。通过这本实践指南的更新版,你将学会如何利用最佳理念来编写有效的现代Python 3代码。 发现并应用超出你过往经验之外的Python 3惯用特性。作者Luciano Ramalho将带你了解Python的核心语言特性和库,并教你如何使代码更短、更快、更具可读性。 新版进行了重大的更新,共包含五部分,每部分都相当于一本迷你书: 数据结构:序列、字典、集合、Unicode和数据类。 作为对象的函数:头等函数、相关设计模式和函数声明中的类型提示。 面向对象的惯用法:组合、继承、mixin、接口、运算符重载、协议和更多静态类型。 控制流:上下文管理器、生成器、协程、async/await和线程/进程池。 元编程:属性、特性描述符、类装饰器以及替代或简化元类的新类元编程钩子。 作者简介 卢西亚诺·拉马略,1998开始成为Python程序员,是Python软件基金会的会员,巴西培训公司Python.pro.br的共同所有人,巴西第一家黑客空间Garoa Hacker Clube的联合创始人。他领导过软件开发团队,并在巴西的媒体、银行和政府部门教授过Python课程。 目录 Preface Part I. Data Structures 1. The Python Data Model What's New in This Chapter A Pythonic Card Deck How Special Methods Are Used Emulating Numeric Types String Representation Boolean Value of a Custom Type Collection API Overview of Special Methods Why len Is Not a Method Chapter Summary Further Reading 2. An Array of Sequences What's New in This Chapter 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 lust Immutable Lists Tuples as Records Tuples as Immutable Lists Comparing Tuple and List Methods Unpacking Sequences and Iterables Using * to Grab Excess Items Unpacking with in Function Calls and Sequence Literals Nested Unpacking Pattern Matching with Sequences Pattern Matching Sequences in an Interpreter Slicing Why Slices and Ranges 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 Versus the sorted Built-In When a List Is Not the Answer Arrays Memory Views NumPy Deques and Other Queues Chapter Summary Further Reading 3. Dictionaries and Sets What's New in This Chapter Modern dict Syntax dict Comprehensions Unpacking Mappings Merging Mappings with 丨 Pattern Matching with Mappings Standard API of Mapping Types What Is Hashable Overview of Common Mapping Methods Inserting or Updating Mutable Values Automatic Handling of Missing Keys defaultdict: Another Take on Missing Keys The missing__ Method Inconsistent Usage of__missing__ in the Standard Library Variations of dict …… Part II. Functions as Objects Part III. Classes and Protocols PartIV. ControIFIow Part v. Metaprogramming Afterword Index |