zoukankan      html  css  js  c++  java
  • python 生成器 yield语句

    生成器就是一个返回迭代器(iterator)的函数。 包含了 yield 的函数,就是一个生成器。

    生成器每使用yield语句产生一个值,函数就会被冻结(暂停执行),被唤醒后(即再次调用)接着上次执行,继续产生新的值。

    一个函数中可以包含多个yield,原理不变。

    在一些情况下使用生成器可以节省存储空间。

    示例一:

    def gen():
        for i in range(5):
            yield i*2
    for i in gen():
        print(i)
    
    --------------------
    0
    2
    4
    6
    8

    示例二:

    def gen():
        for i in range(3):
            print('step one')
            yield i
            print('step two')
            yield i*2
            print('step three')
    
    for i in gen():
        print(i)
    
    ------------------------
    step one
    0
    step two
    0
    step three
    step one
    1
    step two
    2
    step three
    step one
    2
    step two
    4
    step three
  • 相关阅读:
    ubuntu10官方镜像安装硬盘自动分区失败的问题
    ubuntu10的pci扩展卡驱动安装失败后检查方法
    day7集合
    day6字符编码
    day5 dict
    day4 list,tuple
    day2 int,bool,str
    day1
    函数一
    注册登录
  • 原文地址:https://www.cnblogs.com/huwt/p/11192924.html
Copyright © 2011-2022 走看看