Click to Visit Homepage : zzyzz.top


摘要: 1 终止协程和异常处理 2 3 协程中未处理的异常会向上冒泡,传给 next 函数或 send 方法的调用方(即触发协程的对象) 4 终止协程的一种方式:发送某个哨符值,让协程退出。内置的 None 和 5 Ellipsis 等常量经常用作哨符值。 Ellipsis 的优点是,数据流中不太常有这个值。有人把 6 StopIteration 类(类本... 阅读全文
posted @ 2017-11-21 17:02 zzYzz 阅读(2079) 评论(0) 推荐(0)
摘要: 1 预激装饰器 2 3 讨论如何终止协程之前,我们要先谈谈如何启动协程。使用协程之前必须预激,可是这一 4 步容易忘记。为了避免忘记,可以在协程上使用一个特殊的装饰器。接下来介绍这样一个 5 装饰器。 6 7 预激协程的装饰器, 8 from functools import wraps 9 10 def corountine(func): 11 ''' 12 ... 阅读全文
posted @ 2017-11-19 21:06 zzYzz 阅读(333) 评论(0) 推荐(0)
摘要: 1 Coroutine 练习 1 - Coroutine Exercises 1 2 3 字典中为动词 “to yield” 给出了两个释义:产出和让步。对于 Python 生成器中的 yield 来 4 说,这两个含义都成立。 yield item 这行代码会产出一个值,提供给 next(...) 的调 5 用方;此外,还会作出让步,暂停执行生成器,让调用方继续工作,直到需要使用另... 阅读全文
posted @ 2017-11-14 17:17 zzYzz 阅读(224) 评论(0) 推荐(0)
摘要: 1 协程 - Coroutines 2 3 Awaitable Objects, 4 Awaitable Objects 通常由 __await__() 生成, 而 5 Coroutine objects 是由 async def 关键字定义的函数 return 的 Awaitable Objects. 6 Note, 7 被 types.... 阅读全文
posted @ 2017-11-07 19:22 zzYzz 阅读(710) 评论(0) 推荐(0)
摘要: 1 Python 元类 - Metaclasses 2 3 默认情况下儿, classes 是有 type() 构造的. 4 类的结构体在一个新的 namespace 被执行, 类的名字 class name 绑定(bound locally)到 5 type(name, bases, namespace) 的结果上. 6 然而, 类的构造过程可以用户定义 - 在定义... 阅读全文
posted @ 2017-10-31 21:11 zzYzz 阅读(348) 评论(0) 推荐(0)
摘要: 1 对特殊方法的访问 - Special method lookup 2 3 对于用户自定义的 class 来说, 特殊方法只有通过定义对象的类型object’s type (而非通过 instance 4 的 __dict__属性)被定义, 才能保证特殊方法的隐式调用. 5 也就是说给自定义的 class 打 特殊方法的 monkey patching 后,... 阅读全文
posted @ 2017-10-27 15:44 zzYzz 阅读(288) 评论(0) 推荐(0)
摘要: 1 自定义属性的访问 - Customizing attribute access 2 3 在 python 中, 下列方法可以实现类实例属性 instance.attribute 的 使用,设置,删除. 4 object.__getattr__(self, name) 5 找不到 attribute 的时候被调用(__dict__ ... 阅读全文
posted @ 2017-10-26 13:35 zzYzz 阅读(267) 评论(0) 推荐(0)
摘要: 0 猴子补丁 - Monkey Patching 1 定义, 2 猴子补丁(monkey patching) 3 在运行时动态修改模块、类或函数,通常是添加功能或修正缺陷。猴子补丁在代码运行时 4 (内存中)发挥作用,不会修改源码,因此只对当前运行的程序实例有效。 5 因为猴子补丁破坏了封装,而且容易导致程序与补丁代码的... 阅读全文
posted @ 2017-10-25 12:45 zzYzz 阅读(3469) 评论(0) 推荐(0)
摘要: 1 还是先看定义 duck typing, 2 鸭子类型是多态(polymorphism)的一种形式.在这种形式中,不管对象属于哪个, 3 也不管声明的具体接口是什么,只要对象实现了相应的方法,函数就可以在对象上执行操作. 4 即忽略对象的真正类型,转而关注对象有没有实现所需的方法、签名和语义. 5 duck typing 6 ... 阅读全文
posted @ 2017-10-24 14:15 zzYzz 阅读(6123) 评论(0) 推荐(0)
摘要: 1 在 python 中, 用户可以通过 py 文件创建自定义的 module, 也可以通过 C 创建 dll, 扩展 python module. 2 当用户在一个正在编辑的模块 module 中, 引入(import)另一个已经编辑好的 module 的时候, 3 需要名字指明另一个 module 的所在位置,python 才能成功 import 该模块. 4 例如, 5 ... 阅读全文
posted @ 2017-10-23 14:03 zzYzz 阅读(1592) 评论(0) 推荐(0)


Click to Visit Homepage : zzyzz.top