Python 可迭代、迭代器、生成器

可迭代、迭代器

  • 可迭代(iterable):直接作用于 for 循环的变量
  • 迭代器(iterator):不但可以作用于 for 循环,还可以被 next 调用
  • list 是典型的可迭代对象,但不是迭代器

isinstance案例

  • 判断某个变量是否是一个实例
  • 可以利用 isinstance 判断是否是一个迭代器

iter函数

  • 可将可迭代转换成迭代器
  • 也可以将迭代器转换成可迭代

生成器

  • generator :一边循环一边计算下一个元素的机制/算法
  • 需要满足三个条件:
    • 每次调用都能生产出 for 循环需要的下一个元素
    • 如果达到最后一个,抛出 StopIteration 异常
    • 可以被 next 函数调用
  • 如何生成一个生成器:
    • 直接使用
    • 如果函数中包含 yield ,则这个函数就叫生成器
    • next 调用函数,遇到 yield 返回





posted @ 2021-08-15 19:42  廿九九  阅读(47)  评论(0)    收藏  举报