zoukankan      html  css  js  c++  java
  • Python 生成器和生成器表达式

    一. 生成器

      什么是生成器?

      生成器实质就是迭代器.在python中有三种方式来获取⽣生成器:

        1. 通过⽣成器函数

        2. 通过各种推导式来实现生成器

        3. 通过数据的转换也可以获取生成器

    def func():
        print("111") 
        return 222
    
    ret = func()
    print(ret)
    结果:
    111
    222
    

      

    def func():
        print("111")
        yield 222
    
    ret = func() 
    print(ret)
    结果:
    <generator object func at 0x10567ff68>
    

     yield 是分段执行这个函数体

     生成器函数在执行的时候返回生成器. 而不是直接执行此函数

     能向下执行的两个条件:
       __next__(), 执行到下一个yield
       send(), 执行到下一个yield, 给上一个yield位置传值

    生成器的优点和特点

      优点: 节省内存, 生成器本身就是代码. 几乎不占用内存
      特点: 惰性机制, 只能向前. 不能反复

    生成器表达式

        (结果 for循环 if)
    

      



  • 相关阅读:
    modal
    NSSpeechSynthesizer 文字变语音
    AVFoundation 初识
    语系/地区码
    Mac 平台下安装 OpenVC
    19-iOS图形性能
    01-产品发布10个大坑
    18-NSString之Strong和copy
    17-xcode6插件开发入门
    16-不能错过的Xcode插件
  • 原文地址:https://www.cnblogs.com/zhaoyubing/p/10111189.html
Copyright © 2011-2022 走看看