zoukankan      html  css  js  c++  java
  • 迭代器以及生成器

    迭代器的特点:

    1. 省内存
    2. 惰性机制, 不访问__next__() 就没有值.
    3. 只能向前. 不能反复.

    生成器的特点

    本质就是迭代器, 生成器函数. 就是把return换成yield

    迭代器函数:

    def func():

      pint("真好")

      return "还不错"

    如果直接执行函数func() 会打印"真好"

    n = func(),然后再打印n的话会打印" 真好",然后返回值"还不错"

    生成器函数:

    def func():

      print("真好")

      yield "还不错"

    直接执行函数不会有任何显示.

    n = func(),可以获得一个生成器对象

    然后执行print(n.__next__())遇到第一个yueld会停止运行,如果继续执行会报错StopIteration

    两种方式写生成器

      1. 生成器函数
      2. 生成器表达式

     生成器的表达式(结果 for循环 if判断)

  • 相关阅读:
    函数嵌套
    函数对象
    可变长参数
    函数的参数
    函数的调用
    函数的返回值
    定义函数的三种形式
    函数的定义
    SQLAlchemy
    Flask总结完整版
  • 原文地址:https://www.cnblogs.com/lowen107/p/9891156.html
Copyright © 2011-2022 走看看