yield生成器

作者: python_me | 来源:发表于2019-03-29 23:49 被阅读0次

我的CSDN博客https://blog.csdn.net/qq_42658739

生成器是一种像列表和元组的iterable,也叫做generator;有几点需要注意: 1.不允许使用索引进行索引访问,2.可以使用for循环进行遍历,3.语法yield用来定义生成生成器。

yield语句定义生成器向调用者提供结果,但是不破坏本地变量。

def countdown():
    i=5
    while i>0:
        yield i #yield:生成器的标志   语法: yield  i (i是定义的数)
        i -= 1
for i in countdown():
    print(i)
#素数的生成器(判断是不是素数)    也就是说只接受素数的传入:
def get_prime():
    num = 2
    while True:
        if is_prime(num):
            yield num
            num += 1
#生成器没有内存限制! 类似迭代器
# def my_sevens():
#     while True:
#         yield 7
#
# for n in my_sevens():
#     print(n)
#为满足条件的函数生成列表
# def numbers(x):
#     for m in range(x):
#         if m % 2 == 0:
#             yield m
# print(list(numbers(10)))
# def make_word():
#     word = ""
#     for ch in "spam":       #也验证了字符串在for...in...语句里面的规则
#         word += ch
#         yield word
# print(list(make_word()))

相关文章

  • Scrapy框架学习2

    yield关键字 yield<——>生成器 生成器是一个不断产生值的函数 包含yield语句 的函数是一个生...

  • python——yield

    使用了yield关键字的函数不再是函数,而是生成器。(使用了yield的函数就是生成器) yield关键字有两点作...

  • 协程

    从yield说起 当生成器执行到yield的时候,通过send方法向生成器传递一个值,生成器在收到传进来的值之后,...

  • yield

    yield 生成器, 当函数中有yield, 那么这个函数编程生成器, 对其进行函数调用, 不会执行, 会返回一个...

  • 深入理解js中的yield

    yield是什么 yield是ES6的新关键字,使生成器函数执行暂停,yield关键字后面的表达式的值返回给生成器...

  • yield

    yield是什么 yield是ES6的新关键字,使生成器函数执行暂停,yield关键字后面的表达式的值返回给生成器...

  • # 深入理解js中的yield

    yield是什么 yield是ES6的新关键字,使生成器函数执行暂停,yield关键字后面的表达式的值返回给生成器...

  • yield的实现

    yield的功能类似于return,但是不同之处在于它返回的是生成器。 生成器 生成器是通过一个或多个yield表...

  • python之yield和yield from

    yield,使用 yield 的函数被称为生成器(generator),跟普通函数不同的是,生成器是一个返回迭代器...

  • D07:字符串、列表、元组、集合、字典

    列表 生成式和生成器 生成式 -生成器 使用yield定义斐波拉契数列: yield详解:待补充. 元组 元组和集...

网友评论

    本文标题:yield生成器

    本文链接:https://www.haomeiwen.com/subject/tzpdbqtx.html