寄存器-python学习记录

有yield的函数不是一次性返回结果或者生成结果,而是先把这个函数将要进行的任务指针先寄存在对应的实例化对象上,等这个对象被调用时,再依次的根据函数指针对应的内容进行处理:

比如这里,odd是一个可以产生产生无穷奇数的函数,如果不是寄存器,那么odd_num应该在实例化的时候就会有很大的内容。而这里是先寄存指针,之后再根据调用时的条件进行取值。

send函数可以给寄存器传入参数,就是会在yield停止之后,返回时带一个参数回去,然后就敢干嘛接着干嘛。也就是,会把yield带出来的那个参数,用新的参数替换后再带回去,让new,以old的身份活着。狸猫换太子。

你可能感兴趣的:(寄存器-python学习记录)