• 生成器


    1.什么是生成器?实质上它就是迭代器.

    def func():
        print("生成器")
        yield 123
    
     ret = func()
     print(ret) 

    由于函数中存在了yield. 那么这个函数就是一个生成器 函数. 这个时候. 我们再执行这个函数的时候. 就不再是函数的执⾏行了. 而是获取这个生成器.

    2.生成器如何使用呢? 生成器的本质是迭代器. 所以. 我们可以直接执行__next__()来执行.

    def func():
        print("你好啊,我叫男孩")
        yield "返回值"    # return 和yield都可以返回数据
    
    ret = func()   # 结果是generator ,是一个生成器
    print(ret)
    s = ret.__next__() # 当执行到__next__()的时候, 函数才真正的开始执行
    print("接受到的是", s)

    3.send() 也可以实现类似__next__()的效果, send()可以给上一个yield传值

    send(),给上一个yield赋值.

    4. 生成器的特点:

       1  节省内存, 几乎不占用内存
    2 惰性机制
    3 只能往前走
  • 相关阅读:
    C# 使用布尔操作符
    C# 复合赋值操作符
    C# while语句
    C# do while语句
    datatabe 与string
    打开外部程序并
    group by 显示
    GROUP by 方法  C#
    屏幕取色
    C#简单继承示例详解——快速入门
  • 原文地址:https://www.cnblogs.com/asdlo/p/9671207.html
Copyright © 2020-2023  润新知