Python 设计模式:装饰器与观察者模式解析
1. 协程、生成器与设计模式基础
在编程中,我们常常会遇到协程和生成器,可能有人会疑惑它们与面向对象编程有什么关系,毕竟代码里可能连一个类都没有。从某种程度上来说,协程和生成器通常不被认为是面向对象的,但创建它们的函数会返回对象,我们可以把这些函数看作构造函数。构造出的对象有相应的 send() 和 __next__() 方法。实际上,协程/生成器语法是创建特定类型对象的语法捷径,没有它的话,创建过程会非常繁琐。
在设计方面,有一种自底向上的设计方法。我们先创建各种完成特定任务的底层对象,最后把它们连接起来。使用协程开发时,这是一种常见的做法。而自上而下的设计有时会产生更庞大的代码块,而不是独特的个体代码块。一般来说,我们要在过大和过小的方法之间找到一个平衡点,无论是否使用迭代器协议都是如此。
1.1 相关练习
以下是一些相关的练习,帮助我们更好地理解和应用这些概念:
- 理解推导式 :如果你在日常编码中不常使用推导式,首先可以在现有代码中查找 for 循环,看看是否能轻易将其转换为生成器表达式、列表推导式、集合推导式或字典推导式。
- 性能测试 :测试列表推导式是否比 for 循环更快,可以使用内置的 timeit 模块。具体操作步骤如下:
1. 编写两个完成相同任务的函数,一个使用列表推导式,另一个使用 for 循环。
超级会员免费看
订阅专栏 解锁全文
85

被折叠的 条评论
为什么被折叠?



