装饰器、迭代器、生成器

2020-09-28  本文已影响0人  h小吴y

装饰器

-- 用于拓展原来函数功能的一种函数

-- 在不用更改原函数代码的前提下给函数增加新的功能

实现装饰器:

定义 执行

带参数的装饰器

from functools import wraps

@wraps(func)可以保留原函数的一些信息

定义 执行

类的装饰器

定义 执行


迭代器

迭代(iterate)意味着重复对此,就像循环那样(list,tuple)

实现了方法__iter__的对象是可迭代的,而实现了方法__next__的对象是迭代器

调用__next__时(或next()),迭代器返回其下一个值

如果迭代器没有可供返回的值,触发StopIteration异常

从迭代器创建序列

定义 执行

通过对可迭代对象调用内置函数iter,可获得一个迭代器

演示

生成器

每次使用yield生成一个值后,函数都将冻结,即在次停止执行

被重新唤醒后,函数将从停止的地方开始继续执行

演示

实例

迭代器 生成器
上一篇下一篇

猜你喜欢

热点阅读