iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >day13-生成器
  • 291
分享到

day13-生成器

生成器 2023-01-31 00:01:47 291人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

def generator(): print(1) yield 'a' rcp = generator() print(rcp.__next__())   只要含有yield关键字的函数都是生成器函数。yield不能和

def generator():
    print(1)
    yield 'a'
rcp = generator()
print(rcp.__next__())

  只要含有yield关键字的函数都是生成器函数。yield不能和return共用且需要写在函数内。

  生成器函数 : 执行之后会得到一个生成器作为返回值。

def generator():
    print(1)
    yield 'a'
    print(2)
    yield 'b'
rcp = generator()
put = rcp.__next__()
print(put)
put = rcp.__next__()
print(put)

  yield没有结束一个函数,可以连续打印。

# 产生200个字符串def putStr():    for i in range(200):        yield '我最帅%d'%iput = putStr()for i in put:    print(i)

# 可不可以在两百个字符串中只取五十个,然后再紧接着上一次结束的地方再取五十个呢?def putStr():    for i in range(200):        yield '你最帅%s'%iput = putStr()count = 0for i in put:    print(i)    count += 1    if count >= 50:        breakprint('----------------------')for i in put:    print(i)    count += 1    if count >= 100:        break

  生成器可以生成n个你想要的字符串。

# 监听文件输入
def func(filename):
    f = open(filename,encoding='utf-8')
    while True:
        line = f.readline()
        if line.strip():
            yield line
g = func('file')
for i in g:
    print(i)

  一个利用监听器实现的监听文件输入操作。

--结束END--

本文标题: day13-生成器

本文链接: https://www.lsjlt.com/news/182552.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • day13-生成器
    def generator(): print(1) yield 'a' rcp = generator() print(rcp.__next__())   只要含有yield关键字的函数都是生成器函数。yield不能和...
    99+
    2023-01-31
    生成器
  • python列表生成器与生成器
    列表生成器是python内置的非常简单却非常强大的。生成一个列表[1,2,3,4]可以用list(range(1,5))列表生成器的应用如果上面的公式加上判断,就可以筛选出想要的结果,比如仅需要偶数的平方使用多层循环生成器生成器与列表生成器...
    99+
    2023-01-31
    生成器 列表 python
  • 生成器
    一、生成器的定义 在函数中使用yield关键字,由函数返回的结果就是生成器。 1 def gen(): 2 print('gen') 3 print('gen') 4 yield 0 5 pri...
    99+
    2023-01-30
    生成器
  • Python生成器/生成器函数/推导式/
    1. 生成器   生成器的本质就是迭代器   在python中有三种⽅方式来获取⽣生成器:     1. 通过生成器函数     2. 通过各种推导式来实现⽣成器     3. 通过数据的转换也可以获取生成...
    99+
    2023-01-31
    生成器 函数 Python
  • 列表生成式,迭代器和生成器
    一、列表生成式 现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],现在要求把列表里的每个值加1,你怎么实现?你可能会想到的几种方法: 方法1: a = [0, 1, 2, 3, 4, 5, 6, 7, 8...
    99+
    2023-01-31
    生成器 迭代 列表
  • python生成器
    所属网站分类: python基础 > 装饰器,迭代器,生成器 作者:慧雅 原文链接: http://www.pythonheidong.com/blog/article/20/ 来源:python黑洞网 www.python...
    99+
    2023-01-31
    生成器 python
  • Python---生成器
    # 生成器 # 通过列表生成式,我们可以直接创建一个列表 # 但是,受到内存限制,列表容量肯定是有限的 # 创建一个100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了 #...
    99+
    2023-01-31
    生成器 Python
  • Python:生成器
        生成器是Python中的一个高级用法,有段时间我对生成器的理解颇为费劲,直到我看到一句话“yield语句挂起该生成器函数的状态,保留足够的信息,以便之后从它离开的地方继续执行”后,让我恍然大悟,这是生成器中的状态挂起,这句话让我想起...
    99+
    2023-01-31
    生成器 Python
  • python 生成器
    先来讲一个列表生成式列表生成式:就是一个用来生成列表的特定语法形式的表达式。基础语法格式[exp for iter_var in iterable]普通创建列表是这样的a = [1...
    99+
    2023-01-30
    生成器 python
  • Python生成器和基于生成器的协程
    小编给大家分享一下Python生成器和基于生成器的协程,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、什么是生成器Generator生成器就是可以生成值的函数2.当一个函数里有了 yield关键字就成了生成器3.生成器可...
    99+
    2023-06-15
  • Python 生成器 generator
    前提条件: 如果函数含有yield就是生成器,执行过程中遇到yield就跳出。 举例:def gen():for i in range(10):x = yield iprint(x)g=ge()print(g.send(None)))pri...
    99+
    2023-01-31
    生成器 Python generator
  • Python_生成器generator
    生成器generator  生成器指的是生成器对象,可以由生成器表达式得到,也可以使用yield关键字得到一个生成器函数,  调用这个函数得到一个生成器对象生成器函数  函数体中包含yield语句的函数,返回生成器对象  生成器对象,是一个...
    99+
    2023-01-31
    生成器 generator
  • 详解Python生成器和基于生成器的协程
    目录一、什么是生成器二、基于生成器的协程三、协程的注意点四、协程装饰器五、python3原生协程一、什么是生成器 Generator 1.生成器就是可以生成值的函数 2.当一个函数里...
    99+
    2024-04-02
  • springboot集成mybatis官方生成器
    目录引入习惯pluginresource下插件代码生成器配置添加maven命令新建一张数据库表进行测试 点击运行引入习惯plugin <!-- mybatis genera...
    99+
    2024-04-02
  • 【25】Python生成器generat
    列表生成式一个小题目:将里列表[0,1,2,3]里面的数值都加1.方法1: a=[0,1,2,3] b=[] for i in range(len(a)): b.append(i+1) a=b print(a) 方法2: a = [...
    99+
    2023-01-31
    生成器 Python generat
  • python -- 密码生成器
    小Q:中庭地白树栖鸦,冷露无声湿桂花;今夜月明人尽望,不知秋思落谁家? 王建《十五夜望月》两个密码生成代码实例=============================================================#!/u...
    99+
    2023-01-31
    生成器 密码 python
  • python3--迭代器,生成器
    一 迭代器1 什么是可迭代对象?字符串,列表,元组,字典,集合都可以被for循环,说明他们都是可迭代的怎么来证明这一点呢?注释:type只能判断是什么类型isintance判断方面更广,不仅能判断类型,还能判断是否可迭代Iterable是否...
    99+
    2023-01-30
    生成器 迭代
  • python 生成器&迭代器
      一、生成器 1、列表生成器:列表生成式就像是一个厨师,他只会做这n(n为任意整数)道菜,想吃甚麽做甚麽,不吃不做,不浪费空间;而列表表达式就相当于已经做好的n盘菜,占用空间。2、生成器的创建方法: s = (x*2 for x in...
    99+
    2023-01-30
    生成器 迭代 python
  • 迭代器与生成器
    这一部分待加强!                (一)迭代器    一:简介    迭代是Python最强大的功能之一,是访问集合元素的一种方式。    迭代器是一个可以记住遍历的位置的对象。    迭代器对象从集合的第一个元素开始访问,...
    99+
    2023-01-30
    生成器 迭代
  • Python之yield生成器
    1、对比range和xrange的区别:>>> print range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> print xrange(10) xrange(10)...
    99+
    2023-01-31
    生成器 Python yield
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作