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

     

    # Iterator   # 迭代器

    #Gerator   #生成器

    # 生成器就是迭代器,生成器是我们自己写出来的

          #生成器函数

          #生成器表达式

    def generator_func():  #生成器函数
        print(123)
        yield 'aaa'   #return
        print(456)
        yield 'bbb'
    g = generator_func() #generator 生成器 - 生成器的本质就是一个迭代器
    ret = g.__next__()
    print(ret)
    ret2 = g.__next__()
    print(ret2)
     

    #带yield关键字的函数就是生成器函数

    #生成器函数在执行的时候只返回一个生成器,不执行生成器的函数的内容

    #从生成器中取值

          #1.__next__  有几个yield就可以取几次

          #2.   for循环取值  正常取 fori i  in g:

          #3. 其他数据类型进行强制转换  list(g)   返回一个列表  里面装着生成器的所有内容

          # 注意 : 调用生成器函数的时候,要先获取生成器,再进行next取值

                          生成器中的内容只能取一次,且顺序取值没有回头路,取完为止。

    def clothing():
        for cloth in range(1,200000):
            yield '第%s衣服'%cloth
    v1=clothing()
    for i in range(50):
        print(v1.__next__())
  • 相关阅读:
    NSBundle使用:获取文件路径
    安装git后遇到的问题及解决
    (转)iPhone 字体显示效果大全
    iPhone开发小技巧
    协议与委托简单实例讲解(转)
    Zoom Me FAQ
    Show Desktop Pro FAQ
    The Startup Manager FAQ
    Finder Quick Menu FAQ
    The App Locker FAQ
  • 原文地址:https://www.cnblogs.com/ez2z/p/7473972.html
Copyright © 2011-2022 走看看