3:闭包,装饰器,生成器,迭代器

一:什么是闭包

1:必须有一个内部函数

2:外部函数返回值内部函数

3:内部函数一定要调用外部函数的变量

 

二:什么是装饰器

1:装饰器和闭包的区别

 闭包传递的是变量,装饰器传递的是函数,可以说装饰器是闭包的一种,它只是传递函数的闭包

 装饰器本质是一种函数,在原函数上增加新的功能。比如加入日志,预处理功能。

 

三:生成器

一边循环一边计算,可以节约内存空间,yield:暂停运行,并返回结果,下次执行next()方法,从当前位置继续运行。

 

四:迭代器

1:迭代器的特点

  1:只会向前访问    2:能for循环的对象,都是可迭代对象,生成器是可迭代对象,可迭代对象不一定是生成器

2:迭代器和生成器的区别

  生成器可以做迭代器所做的所有事,生成器可以自动创建方法,显得简洁,还可以节约空间,当终结时报出异常

posted @ 2023-05-16 22:54  观呼吸  阅读(37)  评论(0)    收藏  举报