代码如下:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
__author__ = '人生入戏'def use(name):print("%s开始捡屎了。。。" % name)while True:res = yieldprint("%s捡了%s个屎" % (name,res))def product(name_mon):mon = use(name_mon)mon.__next__()for i in range(10):print("儿子又拉了一个屎")i+=1mon.send(i)
product("妈妈")

这叫协程,又叫微线程。

运行结果如下:

妈妈开始捡屎了。。。
儿子又拉了一个屎
妈妈捡了1个屎
儿子又拉了一个屎
妈妈捡了2个屎
儿子又拉了一个屎
妈妈捡了3个屎
儿子又拉了一个屎
妈妈捡了4个屎
儿子又拉了一个屎
妈妈捡了5个屎
儿子又拉了一个屎
妈妈捡了6个屎
儿子又拉了一个屎
妈妈捡了7个屎
儿子又拉了一个屎
妈妈捡了8个屎
儿子又拉了一个屎
妈妈捡了9个屎
儿子又拉了一个屎
妈妈捡了10个屎

转载于:https://www.cnblogs.com/my-times/p/7353504.html

Python生成器主要用法相关推荐

  1. Python生成器的用法,使用生成器灵活的生成斐波那契数列

    生成器,一定情况下可以节省很多空间 比如: >>> b = (x for x in range(10))>>> b<generator object < ...

  2. Python生成器next方法和send方法区别详解

    yield的语法规则是: 在yield这里暂停函数执行,并返回yield后面表达式的值(默认为None),直到被next()再次调用时,从上次暂停的yield代码处继续往下执行.当没有可继续next( ...

  3. Python生成器对象send()方法用法

    关于生成器基本用法请参考详解Python生成器函数和生成器对象的原理和用法 >>> def f():     yield from 'abcdefg'     #使用yield表达式 ...

  4. python生成器与迭代器(配套相关案列解析用法)

    一.python生成器简介 在 Python 中,使用了 yield 的函数被称为生成器(generator).跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就 ...

  5. python竞赛_浅谈Python在信息学竞赛中的运用及Python的基本用法

    浅谈Python在信息学竞赛中的运用及Python的基本用法 前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在& ...

  6. python3 yield 大文件_详解Python3中yield生成器的用法

    任何使用yield的函数都称之为生成器,如: def count(n): while n > 0: yield n #生成值:n n -= 1 另外一种说法:生成器就是一个返回迭代器的函数,与普 ...

  7. Python生成器(send,close,throw)方法详解

    <Python生成器>一节中,详细介绍了如何创建一个生成器,以及生成器的基础用法.本节将在其基础上,继续讲解和生成器有关的一些方法. Python生成器send()方法 我们知道,通过调用 ...

  8. Python 生成器 和 yield 关键字

    Python 中 yield 的作用:http://youchen.me/2017/02/10/Python-What-does-yield-do/# Python 生成器详解:http://codi ...

  9. Python Itertools.chain()用法【将一组迭代对象串联起来,形成一个更大的迭代器】

    它是一个需要一系列可迭代对象并返回一个可迭代对象的函数.它将所有可迭代对象组合在一起,并生成一个可迭代对象作为输出. 场景一:  chain()可以把一组迭代对象串联起来,形成一个更大的迭代器: &g ...

最新文章

  1. 实例化Layout中的布局文件(xml)
  2. 自编码器深度分析+定制特征描述子构建初探
  3. python 测试mysql数据库_Python操作MySQL数据库----继续安装和测试
  4. (四)JS基础知识一(深入分析变量类型和计算)【不会变量,别说你会JS】
  5. hdu120118岁生日
  6. PHP_CodeIgniter _remap重新定义方法
  7. AndroidStudio 编译异常java.lang.OutOfMemoryError: GC overhead limit exceeded
  8. 用python让excel飞起来 pdf_讯飞智能键盘K710 一款无网络实力依然在线的黑科技产品...
  9. document-scanner:一个基于OpenCV的文档扫描器
  10. Java传参是字节还是字符串好_深入分析java传参
  11. 云服务器上搭建hadoop伪分布式环境
  12. Perl 语言学习笔记
  13. js通过浏览器批量下载图片代码
  14. 使用youtube语音识别功能给视频加自动字幕
  15. c语言如何让图片置顶,UIView完全置顶的方法
  16. mybatis基础(上)
  17. hive 建表-复杂数据类型
  18. 雷卯电子PUSB3FR4完美兼容安世半导体
  19. 机器学习笔记 - 使用TensorFlow进行音乐生成
  20. 爱因斯坦都不敢想象, 我们真的探测到引力波

热门文章

  1. python编程入门经典 评分-豆瓣评分爆炸!Python+机器学习经典图书
  2. python怎么安装matplotlib-python 安装matplotlib
  3. python开发工资多少-Python开发工资多少
  4. python数据分析的主要流程-用Python语言做数据分析基本思路和流程
  5. 数据分析 python 用途-利用Python数据分析可以实现些什么功能呢?
  6. python使用字典格式化字符串-4.2.3Python下字典的格式化字符串
  7. 以下选项不是python打开方式的是-模拟试卷 A
  8. python面试题及答案-Python面试题10道(附答案)看完面试不愁了
  9. python语言入门w-1Python开发——基础入门
  10. linux下载哪个python版本-Linux安装多个Python版本