装饰器、迭代器、生成器
2020-09-28 本文已影响0人
h小吴y
装饰器
-- 用于拓展原来函数功能的一种函数
-- 在不用更改原函数代码的前提下给函数增加新的功能
实现装饰器:
定义 执行带参数的装饰器
定义 执行from functools import wraps
@wraps(func)可以保留原函数的一些信息
类的装饰器
定义 执行迭代器
迭代(iterate)意味着重复对此,就像循环那样(list,tuple)
实现了方法__iter__的对象是可迭代的,而实现了方法__next__的对象是迭代器
调用__next__时(或next()),迭代器返回其下一个值
如果迭代器没有可供返回的值,触发StopIteration异常
从迭代器创建序列
定义 执行通过对可迭代对象调用内置函数iter,可获得一个迭代器
演示生成器
演示每次使用yield生成一个值后,函数都将冻结,即在次停止执行
被重新唤醒后,函数将从停止的地方开始继续执行
实例
迭代器 生成器