美文网首页
生成器,迭代器,闭包,装饰器等

生成器,迭代器,闭包,装饰器等

作者: 希望我是摩羯座 | 来源:发表于2019-03-13 16:32 被阅读0次

1.装饰器就相当于绑定了一些方法,增加了一些扩展功能。在定义函数之前,加@XXX

代码默认开放封闭原则。

2.生成器保存的是算法。

生成器的创建:把列表生成式的[]改成(),就是生成器。或者一个函数里面包含yield关键字,就是生成器。执行时候遇到yield中断,下次继续执行。 调用 a.__next__()

send()和next()的区别就在于send可传递参数给yield表达式,这时候传递的参数就会作为yield表达式的值,而yield的参数是返回给调用者的值,也就是说send可以强行修改上一个yield表达式值。

3.迭代器:可以被next()函数调用并不断返回下一个值的对象称为迭代器。相当于访问集合元素的一种方式。 迭代器是一个对象,不是一个函数。

生成器一定是迭代器,是一种特殊的迭代器。迭代器是一次性消耗品,当循环以后就空了。

4.在一个函数a里面又定义了一个函数b,这个函数b的参数用到了外面函数的变量。那么统称为闭包。

相关文章

网友评论

      本文标题:生成器,迭代器,闭包,装饰器等

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