专栏名称: 新语数据故事汇
《新语数据故事汇,数说新语》科普数据科学、讲述数据故事,深层次挖掘数据价值。
今天看啥  ›  专栏  ›  新语数据故事汇

解锁Python生成器:双向通信和send()方法

新语数据故事汇  · 公众号  ·  · 2024-06-21 18:13
    

文章预览

我们在短文《一 文带您理解Python生成器(generator):高效利用内存的奥秘 》中介绍了python 生成器(generator)的基本用法和特性。Python中的生成器(generator)提供了一种懒加载值的便捷方式,但你了解生成器也支持双向通信吗?接下来将深入探讨强大的“send()”方法和双向通信机制,解锁控制和交互生成器的新可能性。 理解下:x= yield y 我们看一下代码(生成器函数以接受输入)的执行结果: def test () : x = yield 4 print( 'x is' , x) x = yield 5 print( 'x is' , x) x = yield 6 print( 'x is' , x) for x in test(): print(x,end= " " ) x = yield 4 这行代码: 正常生成值 4 检查是否使用 .send() 方法向生成器发送了任何内容 如果使用 .send() 发送了内容,x 将取该值 如果未发送任何内容,x 将为 None 在不使用 .send() 方法的情况下使用 next 迭代我们的生成器: def test ( ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览