Python生成器对象send()方法用法
关于生成器基本用法请参考详解Python生成器函数和生成器对象的原理和用法
>>> def f():
yield from 'abcdefg' #使用yield表达式创建生成器
>>> x = f()
>>> next(x)
'a'
>>> next(x)
'b'
>>> for item in x: #输出x中的剩余元素
print(item, end=' ')
c d e f g
>>> def gen():
yield 1
yield 2
yield 3
>>> x, y, z = gen() #生成器对象支持序列解包
生成器对象还支持使用send()方法传入新值,从而改变后续生成的数据,这时要对yield表达式稍微改写一下。
>>> def gen(start, end):
i = start
while i < end:
v = (yield i)
if v:
i = v
else:
i += 1
>>> g = gen(1, 101)
>>> next(g)
1
>>> g.__next__()
2
>>> g.send(9) #传入新值,改变后续生成的数据
9
>>> next(g)
10
Python生成器对象send()方法用法相关推荐
- Python生成器的send方法、递推函数、匿名函数及常用内置函数
1.生成器的send方法 在使用yield方法创建生成器时,不仅可以使用next方法进行取值,还可以通过send方法向生成器的内部传值 1.1 什么是send方法? send方法相当于高级的next方 ...
- python生成器的send方法
官方文档: generator.send(value) 恢复执行并向生成器函数"发送"一个值. value 参数将成为当前 yield 表达式的结果. send() 方法会返回生成 ...
- python 生成器 send_python(可迭代对象,迭代器,生成器及send方法详解)
一.可迭代对象 对象必须提供一个__iter__()方法,如果有,那么就是可迭代对象, 像列表,元祖,字典等都是可迭代对象 可使用isinstance(obj,Iterable)方法判断 1 from ...
- Python系列(七):用栗子带你深入了解生成器的send()方法
一.问题引入 在Python中,可以使用生成器来一次返回单个元素,从而可以避免大量占用内存.下面例子中计算房价函数house_price便是一个生成器的栗子,该函数接收两个参数,其中unit_pric ...
- Python生成器(send,close,throw)方法详解
<Python生成器>一节中,详细介绍了如何创建一个生成器,以及生成器的基础用法.本节将在其基础上,继续讲解和生成器有关的一些方法. Python生成器send()方法 我们知道,通过调用 ...
- Python生成器及send用法讲解
- 生成器 我们调用一个普通的Python函数时,一般是从函数的第一行代码开始执行,结束于return语句.异常或者函数结束(可以看作隐式的返回None).一旦函数将控制权交还给调用者,就意味着全部结 ...
- python 类 对象 魔法方法概念+习题
类 对象 类 对象是c++和java中都有的内容,python定义类的简单语法如下: class 类名: -类变量或者方法 Python 的类定义有点像函数定义,都是以冒号:作为类体的开始,以统一缩进 ...
- ret php,php生成器的send方法详解,php yield send
[一].基本用法 首先看看官方对send方法的解释:Sets the return value of the yield expression and resumes the generator (u ...
- Python通过对象名调用方法(对象名后面括号和参数)
实习做一个自动化测试项目的时候看到大佬代码: d = u2.connect() #该方法返回一个UIAutomatorServer类的实例 d(discription = 'Books').click ...
最新文章
- 框架:Spring的自动装配
- 日期年月日的比较以及判断
- Revvel如何将视频转码速度提升几十倍?
- JAVA知识基础(三):修饰符
- 通过传址交换两个字符
- 华为荣耀v8计算机没了,华为荣耀V8真机实测 没了徕卡到底咋样?
- iOS----------获取通知状态并跳转设置界面设置
- C#技术分享【PDF转换成图片——11种方案】
- ORM定制的几点注意事项
- 如何零基础入门产品经理
- 计算机用户名中文改为英文,win10系统怎么更改user用户名中文为英文
- JVM - 类加载器
- 圆通JAVA职级_圆通小编升职啦,快看看你的职级有没有变化
- 易学笔记-系统分析师考试-第9章 系统规划/9.5 成本效益分析技术/9.5.3 投资回收期和投资回报率
- zblog如何调用HTML,Zblog教程:模板文件与调用标签详细说明
- 【神经网络架构】Pyramid Convolution(金字塔卷积模块)论文笔记
- 《创业算法》:技术人做CEO的优势和劣势
- 【金融大脑-一支优秀的队伍】比赛经验分享
- Qt之绘制折线图:图标以及坐标轴设置
- 超详细Vue Devtools的下载和安装——Vue的调试工具
热门文章
- 构建新模式java_Nacos 1.3.0 来了,基于全新内核构建!
- nginx php重定向,Thinkphp linux nginx重定向配置
- sqlserver date类型和字符串比较_Mongo的数据类型
- oracle数据库图书,基于oracle数据库,创建图书表(一)
- 浙大java语言程序设计_浙江大学java语言程序设计实验答案全集.doc
- python面向对象三大特性6大原则_【Python学习笔记】面向对象三大特性
- websocket 发送图片_Netty(四)实现WebSocket
- 1小时搞懂设计模式之单例模式
- dw写出来的php乱码,解决DW中的乱码问题
- xlsxwriter php,Xlsxwriter