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

    普通函数

    def generator():
        print(1)
        return 'a'
    
    ret = generator()
    print(ret)
    View Code

    生成器

    #生成器函数/yield必须再函数里面且不能与return共用。
    def generator():
        print(1)
        yield 'a'
        #生成器函数执行之后会得到一个生成器作为一个返回值
    ret = generator()
    print(ret)
    print(ret.__next__())
    View Code

    注意一点:

    在生成器中yield不会结束一个程序。但是比较有意思的一点是当一个函数里面有多个yield的时候,需要多次调用和函数里面yield次数一样多的调用,例如:

    #生成器函数/yield必须再函数里面且不能与return共用。
    def generator():
        print(1)
        yield 'a'
        print(2)
        yield 'b'
        #生成器函数执行之后会得到一个生成器作为一个返回值
    ret = generator()
    print(ret)
    print(ret.__next__())
    print(ret)
    print(ret.__next__())
    View Cod

    如果只调用一次的话就会再第一次返回值时跳出函数并打印之前的代码,但是函数并没有结束,而是再等待下一次的调用。

  • 相关阅读:
    JDBC
    Listener监听器
    Filter过滤器
    Jstl标签库
    el表达式
    Ajax技术
    数据交换格式之
    MVC模式
    函数
    二维数组练习
  • 原文地址:https://www.cnblogs.com/zly9527/p/11366532.html
Copyright © 2011-2022 走看看