0%

这里讨论 Python 用户往往会忽视或者没有充分使用的几个特性,包括:

  • with 语句和上下文管理器
  • for、while 和 try 语句的 else 子句

with 语句会设置一个临时的上下文,交给上下文管理器对象控制,并负责清理上下文。这样做能够避免错误并减少样板代码,因此 API 更安全且易于使用。

阅读全文 »

程序中的形式应该仅仅反映它所要解决的问题,代码中的其他任何外加形式都是一个信号,表明对问题的抽象还不够深。迭代是数据处理的基石。扫描内存中存不下的数据集时,需要找到一种惰性获取数据项的方式,即按需一次获取一个数据项。这就是迭代器模式。

阅读全文 »

这篇文章将讨论接口:从鸭子类型的代表特征-动态协议,到使用接口更明确、能验证实现是否符合规定的抽象基类(Abstract Base Class,ABC)。抽象基类与描述符和元类一样,是用于构建框架的工具,一般都不需要自己编写抽象基类,因为很容易过度设计。

阅读全文 »

这篇文章主要介绍 Python 的面对对象惯用法,首先介绍对象与对象名称的区别,解释对象标识、值和别名等概念,以及垃圾回收、del 命令、如何通过弱引用记住对象,而无需对象本身存在。最后会介绍符合 Python 风格的对象。

阅读全文 »

函数装饰器用于在源码中标记函数,以某种方式增强函数的行为。这是一项强大的功能,若想彻底掌握它,首先必须理解闭包。除了在装饰器中有用处之外,闭包还是回调式异步编程和函数式编程风格的基础。

阅读全文 »