摘要: 二十一、类元编程 (元类)是深奥的知识,99% 的用户都无需关注。如果你想知道是否需要使用元类,我告诉你,不需要(真正需要使用元类的人确信他们需要,无需解释原因)。 ​ ——Tim Peters ​ Timsort 算法的发明者,活跃的 Python 贡献者 类元编程是指在运行时创建或定制类的技艺。 阅读全文
posted @ 2022-01-12 17:52 pythoner_wl 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 二十、属性描述符 实现了 __get__、__set__ 或 __delete__ 方法的类是描述符。 描述符的用法是,创建一个实例,作为另一个类的类属性。 描述符类:实现描述符协议的类。 托管类:把描述符实例类属性的类。 描述符实例:描述符类的各个实例,声明为托管类的类属性。 In [22]: c 阅读全文
posted @ 2022-01-12 17:50 pythoner_wl 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 十九、动态属性和特性 在 python 中,数据的属性和处理数据的方法统称属性(attribute)。方法只是可调用的属性。 除了这二者之外,我们还可以创建特性(property),在不改变类接口的前提下,使用存取方法(即读值方法和设值方法)修改数据属性。 这与统一访问原则相符:不管服务是有存储还是 阅读全文
posted @ 2022-01-12 17:49 pythoner_wl 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 十八、使用 asyncio 包处理并发 asyncio包:使用事件循环驱动的协程实现并发。 线程与协程的对比 '\ thinking' 旋转等待效果 In [1]: import threading In [2]: import itertools In [3]: import time,sys I 阅读全文
posted @ 2022-01-12 17:48 pythoner_wl 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 十七、使用期物处理并发 期物指一种对象,表示异步执行的操作。 期物是 concurrent.futures 模块和 asyncio 包的重要组件,可是,作为这两个库的用户,我们有时却见不到期物,编写的代码没有直接使用。 期物封装待完成的操作,可以放入队列,完成的状态可以查询,得到结果(或抛出异常)后 阅读全文
posted @ 2022-01-12 17:47 pythoner_wl 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 十六、协程 生成器如何进化成协程 用作协程的生成器的基本行为 协程演示 In [51]: def s_c(): ...: print('c start') ...: x = yield ...: print('c received:',x) ...: In [52]: c = s_c() In [5 阅读全文
posted @ 2022-01-12 17:44 pythoner_wl 阅读(53) 评论(0) 推荐(0) 编辑