生成器yield(17-06)
2024-09-06 06:23:43
yield 执行以上代码,yield后面可以有返回值
next() 获取
next的使用次数,是你生成器中yield出现的次数
def p():
print("ok")
yield 18
print("ok2")
yield
n = p()
ret = next(n) # 用next()去获取调用者n,遇到yield才执行以上代码后返回
print(ret)
next(n) # ------------运行结果
# ok
# 18
# ok2
------------------------------------------------------------------------------------------------------------
可以传入参数给yield
但首次传入参数必须是None
send() 传入
当send传入参数后,会自动使用一次next来执行yield以上代码
def s():
print("AB")
conn = yield
print(conn)
print('Hello')
yield
n = s()
n.send(None) # 首次传入必须是None
next(n)
# --------------------运行结果
# AB
# None
# Hello
n = s()
next(n)
n.send(188)
# ---------------------运行结果
# AB
# 188
# Hello
最新文章
- 跟着老男孩教育学Python开发【第二篇】:Python基本数据类型
- 使用jenkins配置.net mvc网站进行持续集成三
- python :表单验证--对每一个输入框进行验证
- PHP连接MySQL的时候报错SQLSTATE[HY000] [2002] No such file or directory
- 大话设计模式-->;模板方法设计模式
- iOS应用崩溃日志分析
- SQL Server 表所在的文件组
- android音乐播放器开发教程
- IE 坑爹的浏览器兼容模式
- Keli Linux与网络安全(2)——初探Keli
- rsyslog ~ 波浪号
- [置顶] 局部加权回归、最小二乘的概率解释、逻辑斯蒂回归、感知器算法——斯坦福ML公开课笔记3
- [Open Source] RabbitMQ 高可用集群方案
- java_final修饰符
- [转载] Java NIO教程
- 60、jQuery其余操作
- Latex 学习之旅(一)
- UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 30633: illegal multibyte sequence
- [转]Jquery 点击图片在弹出层显示大图
- CSU 2005 Nearest Maintenance Point(最短路+bitset)
热门文章
- jq-demo-tab切换
- 百度网盘Mac版如何分享链接?创建百度网盘 for Mac分享链接的方法
- 【JZOJ3294】【BZOJ4417】【luoguP3990】超级跳马
- 1、Go语言的介绍
- 在vue中使用handsontable
- POJ2406-Power Strings-KMP循环节/哈希循环节
- spring boot资源文件配置读取
- C++数据类型之字符型&;转义字符
- Linux CPU负载状态:%us/%sy/%ni/%id/%wa/%hi/%si/%st含义
- Dribbble 流行的配色风格是什么?