这里讨论 Python 用户往往会忽视或者没有充分使用的几个特性,包括:
- with 语句和上下文管理器
- for、while 和 try 语句的 else 子句
with 语句会设置一个临时的上下文,交给上下文管理器对象控制,并负责清理上下文。这样做能够避免错误并减少样板代码,因此 API 更安全且易于使用。
这里讨论 Python 用户往往会忽视或者没有充分使用的几个特性,包括:
with 语句会设置一个临时的上下文,交给上下文管理器对象控制,并负责清理上下文。这样做能够避免错误并减少样板代码,因此 API 更安全且易于使用。
程序中的形式应该仅仅反映它所要解决的问题,代码中的其他任何外加形式都是一个信号,表明对问题的抽象还不够深。迭代是数据处理的基石。扫描内存中存不下的数据集时,需要找到一种惰性获取数据项的方式,即按需一次获取一个数据项。这就是迭代器模式。
运算符重载的作用是让用户定义的对象使用中缀运算符或一元运算符。在 Python 中,其实函数调用、属性访问和元素访问其实都是运算符,但是这里只讨论一元运算符和中缀运算符。
这篇文章将讨论接口:从鸭子类型的代表特征-动态协议,到使用接口更明确、能验证实现是否符合规定的抽象基类(Abstract Base Class,ABC)。抽象基类与描述符和元类一样,是用于构建框架的工具,一般都不需要自己编写抽象基类,因为很容易过度设计。
这篇文章将自定义一个序列类型 Vector,进一步探讨 Python 序列的修改、散列和切片等操作所涉及的背后原理。
这篇文章主要介绍 Python 的面对对象惯用法,首先介绍对象与对象名称的区别,解释对象标识、值和别名等概念,以及垃圾回收、del 命令、如何通过弱引用记住对象,而无需对象本身存在。最后会介绍符合 Python 风格的对象。
函数装饰器用于在源码中标记函数,以某种方式增强函数的行为。这是一项强大的功能,若想彻底掌握它,首先必须理解闭包。除了在装饰器中有用处之外,闭包还是回调式异步编程和函数式编程风格的基础。
从设计上看,不管函数式语言的定义如何,Python 都不是一门函数式语言。Python 只是从函数式语言中借鉴了一些好的想法。这篇文章主要讲解 Python 中的函数,以及利用 Python 中的函数是一等对象这个特性,重新实现一些设计模式。
这篇文章主要分为两个部分:1. 介绍 Python 的映射类型,包括字典和集合;2. 介绍 Python 的文本和字节序列
每次学完 Python 后,由于实际 Python 程序写的不多,导致很快又忘了,所以总感觉对 Python 掌握的不深。这次又看了《流畅的 Python》,这本书的确非常不错,对于深入学习掌握 Python 有非常大的帮助。