LOADING

2022年12月

装饰器本质上是一个Python函数(其实就是闭包),它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。装饰器用于有以下场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。
类似于中间件,类似于设计模式中的装饰器

迭代类似于遍历
迭代器作用:在进行遍历时,每每循环一次都会返回下一个数据,直到读完所有的数据为止。迭代器的作用就是记住访问到了第几条数据,以便于拿到下一条数据。
迭代器的本质:使多个不同类型的对象可以一起遍历,比如一个列表中既又元祖又有列表又有字符串
迭代器必须有__iter__和__next__方法。
迭代器优点:节省内存。不依赖索引取值。惰性计算。
迭代器的缺点:不能直观的查看里面的数据。取值时不走回头路,只能一直向下取值。

本质:是一个迭代器,即生成器是一种特殊的迭代器。
特点:惰性运算,开发者自定义。
生成器函数:在生成器函数中,用yield语句而不是return语句,yield语句一次返回一个结果。在其中两个结果的中间,函数是挂起的状态,以便于下次从离开的地方开始执行而不是从头开始。
生成器表达式:类似于列表推导式,但生成器是按需取结果,而不是一次性来构建一个结果列表。
缺点:只能遍历一次,最后一次会报异常