zoukankan      html  css  js  c++  java
  • Python: 迭代器与生成器小结

    迭代器与生成器的区别:

    1. 迭代器由Class对象创建. 生成器由包含yield表达的Function对象或者Generator Expression创建.

    2. 迭代器的原理:

        (1)由Iterable.__iter__()返回Iterator.

        (2)由Iterator.__next__()返回迭代值, 直到StopIteration.

        一般迭代器同时实现__iter__()与__next__(), 在__iter__()返回self, 在__next__()返回迭代值,直到StopIteration

        生成器原理:

        (1)生成器都有next(), send(), close(), throw()

        (2)调用next()/send(V)执行到下一个yield表达式,并返回yield表达式结果. 如果是send(V)将用V代替yield表达式的值往下执行, next()等价send(None)

        (3)生成器不允许return任何值.

  • 相关阅读:
    第三周助教总结
    第三周作业
    第二周助教总结
    参数和指针
    第二周作业
    第一周作业 2
    第一周作业 1
    第七周助教小结
    第六周助教小结
    第五周助教总结
  • 原文地址:https://www.cnblogs.com/zolo/p/5849284.html
Copyright © 2011-2022 走看看