zoukankan      html  css  js  c++  java
  • Python:生成器

    生成器:使用了 yield 的函数被称为生成器(generator)。它记住上一次返回时在函数体中的位置。

    yeild运行过程:当你向生成器要一个数时,生成器会执行,直至出现 yield 语句,生成器把 yield 的参数给你,之后生成器就不会往下继续运行。 当你问他要下一个数时,他会从上次的状态。开始运行,直至出现yield语句,把参数给你,之后停下。如此反复 直至退出函数。

    例:

    def fun(x):
        count = x
        while True:
            val = yield count
            if val != None:
                count = val
            else:
                count += 1
    f = fun(5)
    print(next(f))
    print(next(f))
    print(next(f))
    print('我是分割线'.center(30,'*'))
    print(f.send(10))
    print(next(f))
    print(next(f))

    执行结果:

    5
    6
    7
    ************我是分割线*************
    10
    11
    12
  • 相关阅读:
    2019nc#7
    ABC133F
    2019DX#6
    2019DX#5
    2019dx#4
    解决一般图最大匹配——带花树算法
    2019nc#4
    B-generator 1_2019牛客暑期多校训练营(第五场)
    hdu-6638 Snowy Smile
    hdu-6621 K-th Closest Distance
  • 原文地址:https://www.cnblogs.com/ping-y/p/5855710.html
Copyright © 2011-2022 走看看