当前位置: 首页 > 编程笔记 >

python生成式的send()方法(详解)

李安歌
2023-03-14
本文向大家介绍python生成式的send()方法(详解),包括了python生成式的send()方法(详解)的使用技巧和注意事项,需要的朋友参考一下

随便在网上找了找,感觉都是讲半天讲不清楚,这里写一下。

def generator():
  while True:
    receive=yield 1
    print('extra'+str(receive))


g=generator()
print(next(g))
print(g.send(111))
print(next(g))

 输出:

1
extra111
1
extraNone
1

为什么会这样呢,点进send就能看到一句话

send:Resumes the generator and "sends" a value that becomes the result of the current yield-expression.

就是说 这里yield 1整体被视为一个表达式,你send的内容会作为这个表达式的值,随便你左边用什么东西接收或者不接收,总之yield就是你send进来的那个东西。这个表达式变成你send进来后的东西后继续执行,再次遇到yield,输出yield后面跟着的表达式。

当然通常使用的话都不会输出一个常量,会输出一个和接收到的东西相关的量,不然岂不是白白发送了。

以上这篇python生成式的send()方法(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍浅谈Python生成器generator之next和send的运行流程(详解),包括了浅谈Python生成器generator之next和send的运行流程(详解)的使用技巧和注意事项,需要的朋友参考一下 对于普通的生成器,第一个next调用,相当于启动生成器,会从生成器函数的第一行代码开始执行,直到第一次执行完yield语句(第4行)后,跳出生成器函数。 然后第二个next调用,进

  • 本文向大家介绍详解python列表生成式和列表生成式器区别,包括了详解python列表生成式和列表生成式器区别的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python(列表生成式/器)的具体代码,供大家参考,具体内容如下 一、列表生成式 二、小例子 三、字典生成式 四、列表生成器和列表生成式的区别 列表生成式: 会将所有的结果全部计算出来,把结果存放到内存中,如果列表中数据比较多

  • 本文向大家介绍Python随机生成手机号、数字的方法详解,包括了Python随机生成手机号、数字的方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python随机生成手机号、数字的方法。分享给大家供大家参考,具体如下: Python随机产生手机号、数字。代码如下: 函数简介: (1)randrange:这个函数会产生范围是4~9之间的任意一个数字,注意不包含10. (2)choic

  • 本文向大家介绍Python生成器(Generator)详解,包括了Python生成器(Generator)详解的使用技巧和注意事项,需要的朋友参考一下 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。 所以,如果列表元素可以

  • 本文向大家介绍使用PHP生成PDF方法详解,包括了使用PHP生成PDF方法详解的使用技巧和注意事项,需要的朋友参考一下 利用PHP编码生成PDF文件是一个非常耗时的工作。在早期,开发者使用PHP并借助FPDF来生成PDF文件。但是如今,已经有很多函数库可以使用了,并且能够从你提供的HTML文件生成PDF文档。这让原先耗时的工作变得非常简单了。 FPDF FPDF是一个允许使用纯PHP生成PDF文档

  • 本文向大家介绍详解java生成json字符串的方法,包括了详解java生成json字符串的方法的使用技巧和注意事项,需要的朋友参考一下 例1:将map对象添加一次元素(包括字符串对、数组),转换成json对象一次。 代码: 运行结果: (需要用到的包可在官网下载:http://www.json.org/java/index.html) 例2:list转换成json的三种参数形式。 运行结果: 例3