zoukankan      html  css  js  c++  java
  • python生成器,函数,数组


    1.什么是生成器
    用一个比喻来形容,工厂中生产保龄球的流水线,机器每次只生产一个保龄球,下次继续生产下一个,直到停止(原料不足,停止供电等条件)为止。
    机器就是我们的生成器。

    2.使用示例
    在python中数组的语法是[]

    L=[x * x for x in range(10)]
    print L

    生成器的语法是()

    g=(x*x for x in range(10))
    print g
    print g.next()

    运行结果如下:

    运行后,数组全部初始化,生成器执行一次,记录当前位置,下次继续执行。

    3.使用yield生成器

    def odd():
        print "step 1"
        yield
        print "step 2"
        yield
        print "step 3"
        yield
    o=odd()
    o.next()
    o.next()
    o.next()

    运行结果如下:

    加入yield后,odd就不是普通函数了,而是一个生成器,在执行过程中,遇到yield就中断,下次又继续执行。


    4.生成器和数组的区别
    比如一组100万的数据,用数组来存储,需要占用很大的存储空间,而用生成器,每次只占用一个空间。

    5.生成器和函数的区别
    函数在return或者函数最后一条语句后返回,生成器generator在每次调用next()时执行,遇到yield就返回,再次执行时从上次返回的yield语句处继续执行。

  • 相关阅读:
    jedis scan实现keys功能
    java简单实现一个阻塞式线程池
    Swift运算符
    数组的使用(1)
    Linux 常用命令
    Task02:基础查询与排序
    Task01:初识数据库
    摩尔投票法
    面向对象暑期课程总结
    xpath+requests+peewee——CSDN论坛全方位爬虫
  • 原文地址:https://www.cnblogs.com/shijingjing07/p/6478539.html
Copyright © 2011-2022 走看看