Python学习之生成式的send()详解
来源:互联网 发布:开源bug系统 java 编辑:程序博客网 时间:2024/06/04 18:43
了解python语言的同学都知道,我们在网上可以找到很多send()相关内容,但是确实很多内容讲的不清不楚。本文将和大家详细说一说python中生成式send()相关内容,一起来看看吧,希望对大家的python学习有所帮助。
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后面跟着的表达式。
当然通常使用的话都不会输出一个常量,会输出一个和接收到的东西相关的量,不然岂不是白白发送了。
来源:博客园
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后面跟着的表达式。
当然通常使用的话都不会输出一个常量,会输出一个和接收到的东西相关的量,不然岂不是白白发送了。
来源:博客园
0 0
- Python学习之生成式的send()详解
- Python生成器generator之next和send的运行流程(详解)
- 王亟亟的Python学习之路(六)-递归,迭代,列表生成式
- Python学习-yield浅析和send()函数
- python学习之 range,列表生成式与切片
- Python学习之字典详解
- Python学习之字典详解
- Python学习之Decorator详解
- Python 3.6 生成器之Send方法
- 生成Send Report的rtcp包接口
- Python学习之列表的内部实现详解
- Python学习之僵尸进程的产生和清除详解
- Python循环学习之最易错的语法详解
- Python学习之装饰器级连的使用详解
- 非阻塞socket之send的使用---异步send
- python学习-列表生成式
- Python学习-列表生成式
- python生成二维码的实例详解
- Android WebView的使用
- 腾讯笔试:满二叉排序树问题
- Linux 常用命令一览
- centos7安装mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
- java-Selenium-Page Object设计模式思路
- Python学习之生成式的send()详解
- STM32之USART 232串口通信<一>
- 汉诺塔问题
- LeetCode刷题(C++)——Search a 2D Matrix(Medium)
- 经典算法之传染病问题
- onino病毒来袭,教你快速关闭某端口
- 经典算法之八皇后问题
- 021-将镜像推送到 Docker Hub
- 解决Mysql不在电脑服务列表中的问题