python3yield关键字简单使用

    技术2022-07-11  82

    python3 yield关键字

    yield简单介绍如何改变文本的样式简单实例为什么需要生成器?实例优势

    yield简单介绍

    yield <==> 生成器 包含yield语句的函数是一个生成器 生成器每次产生一个值(yield语句),函数被冻结,被唤醒后再产生一个值 生成器是一个不断产生值的函数

    如何改变文本的样式

    强调文本 强调文本

    简单实例

    def gen(n): for i in range(n): yield i**2 for i in gen(5): print(i, ' ', end='')

    生成器每调用一次在yield位置产生一个值,直到函数执行结束.

    输出 0 1 4 9 16

    为什么需要生成器?

    实例

    def gen(n): for i in range(n): yield i**2 def square(n): return [j**2 for j in range(n)] for i in gen(5): print(i, ' ', end='') print() for i in square(5): print(i, ' ', end='')

    输出结果 0 1 4 9 16 0 1 4 9 16

    生成器gen(n)每次只使用一个存储单元,不断的更新; 与生成器相比square(n)函数则是把所有的数都存入列表中,等待使用; 当所需的对象很多时,如n=1M,100M或更大时,很明显生成器更加节省空间。

    以上为个人理解,如有误请指正

    优势

    生成器相比一次列出所有内容的优势: 1.更节省存储空间 2.响应更迅速 3.使用更灵活

    Processed: 0.010, SQL: 9