• Python yield关键简单解析


    Python yield关键简单解析

    • 1,带有yield关键字的函数,被python解析器,视为一个生成器。

    • 2,类似于return关键字,但是return关键字会结束函数的调用,并且在下一次调用函数的时候,该函数会从开头开始。而yield关键字,也会结束该函数,但是该函数为冻结状态,当下次这个函数被唤醒时,会从上次调用的地方,继续向下执行。而不像return一样,从头开始。

    • 3,很像c++中的static关键字。

    • 3,示例,生成3以内整数的平方。并打印。

      • 普通代码生成方法

        def gen(n):
            l = []  # 定义一个列表,将生成的数保存到列表里面,然后生成
            for i in range(n):
                l.append(i*i)
                print("hello")
            return l
        
        
        for i in gen(3):
            print(i)
        
        • 输出结果
        hello
        hello
        hello
        0
        1
        4
        
        • 我们可以看到,是先生成列表,最后打印出来
      • 使用生成器

        def gen(n):
            for i in range(n):
                yield i*i    # 使用yield关键字,使gen成为生成器
                print("hello")
                
        
        for i in gen(3):
            print(i)
        
        • 输出结果
        0
        hello
        1
        hello
        4
        hello
        
        • 我们可以清楚的看到,当生产一个数的平方后,gen()函数会保存上一次执行的断点。当再次调用时,会从断点处,继续向下执行
    • yield生成器的好处,当使用列表进行保存大量数据时,会占用大量内存,而生成器,是即时性返回数据的,不会出现,在内存中保存大量数据的情况,节约内存资源。

  • 相关阅读:
    JMeter测试WEB性能入门
    Monkey测试运用实例
    Event percentages解析
    Monkey测试结果分析
    Monkey测试环境搭建
    Appium+java移动端项目测试问题整理
    appium定位安装包启动类名称
    Appium元素定位(uiautomatorviewer)
    Appium环境搭建(Windows版)
    Selenium+java项目测试问题整理
  • 原文地址:https://www.cnblogs.com/jlxa162hhf/p/14161231.html
Copyright © 2020-2023  润新知