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__())
  • 相关阅读:
    Cmder配置
    uboot移植
    嵌入式产品开发技术问题
    flexbox布局
    使用PS过程
    STM32 使用 FreeRTOS过程记录
    TTL、RS232、RS485、串口
    用纯css改变下拉列表select框的默认样式
    task9暂存
    Hello World
  • 原文地址:https://www.cnblogs.com/ez2z/p/7473972.html
Copyright © 2011-2022 走看看