zoukankan      html  css  js  c++  java
  • Python 知识要点:生成器

    在 Python 中,使用了 yield 的函数被称为生成器(generator)。

    生成器是一个可以快速创建迭代器的工具。

    跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。

    在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。 调用一个生成器函数,返回的是一个迭代器对象。

    【生成器解析式和列表解析式】

    # 生成器解析式
    my_generator = (x * x for x in range(5))
    print("生成器解析式,第一次读值")
    for i in my_generator:
        print(i, end=" ")
    
    print(end="
    ")
    print("生成器解析式,第二次读值")
    for i in my_generator:
        print(i, end=" ")
    
    print()
    # 列表解析式
    my_list = [x * x for x in range(5)]
    print("列表解析式,第一次读值")
    for i in my_list:
        print(i, end=" ")
    
    print(end="
    ")
    print("列表解析式,第二次读值")
    for i in my_list:
        print(i, end=" ")
    
    # 当第一遍循环的时候,将 my_generator 里面的值依次读出并打印。
    # 当再读一次的时候,就发现没有任何结果。这种特性也正是迭代器所具有的。

    生成器解析式,第一次读值
    0 1 4 9 16
    生成器解析式,第二次读值

    
    

    列表解析式,第一次读值
    0 1 4 9 16
    列表解析式,第二次读值
    0 1 4 9 16

     
    从现在开始,种下梦想中的参天大树
  • 相关阅读:
    第六章 (3)CreateThread函数
    第六章(5)C/C++运行期库
    自己去除迅雷广告
    第六章(4)终止线程的运行
    第四章 进程(7)CreateProcess函数详解
    第六章(6)进程ID的相关函数
    第六章 线程的基础知识
    第四章 进程(5)进程的当前驱动器和目录
    第四章 进程(6)CreateProcess函数详解
    第六章 (2)线程函数
  • 原文地址:https://www.cnblogs.com/dc2019/p/13205711.html
Copyright © 2011-2022 走看看