美文网首页
python装饰器 生成器

python装饰器 生成器

作者: 漱衣仁止 | 来源:发表于2023-04-03 12:17 被阅读0次

https://www.bilibili.com/video/BV1Gu411Q7JV/

装饰器

decorator不过是一个输入输出和都是函数的函数。实际上输入一定是,输出不一定。理解函数可以作为一个参数传进其他函数,函数可以作为一个返回值。

*args、**kargs,意思是允许不定长的参数。

带参数的装饰器,就是先计算参数的部分,返回的函数再调用另外的函数。??

迭代器和for loop

在进行for in的时候,iterable会现进行iterator的操作,然后取的是这个iterator的值。python官方定义,iterator本身必须是一个iterable。

简单来说:

可以直接作用于for循环的对象统称为可迭代对象,即Iterable;Iterable 只有__iter__ 函数。

可以作用于__next__函数(既然能作用于__next__函数,那么就一定有__iter__函数,否则没有意义)的对象都是Iterator对象。

Iterator类是Iterable的子类,可在doc文档中查找到相关说明。

二者在实现上的区别就超级简单了: iterator有__iter__和__next__方法,而iterable只有__iter__方法。

 生成器

生成器是特殊的迭代器。

生成器本质上是一个带yeild的函数,他记住了上一次返回时在函数体中的位置。

https://www.bilibili.com/video/BV1gu411C7C9/

相关文章

网友评论

      本文标题:python装饰器 生成器

      本文链接:https://www.haomeiwen.com/subject/owoxrrtx.html