迭代器 生成器 装饰器

来源:互联网 发布:linux socket udp监听 编辑:程序博客网 时间:2024/06/05 15:07

1.迭代器:

        (1)定义:同时满足__iter__方法和next()方法的对象就是迭代器。

        (2)用法:遵循迭代器协议,for循环遍历时,每遍历一次,产生一个下一项,而不是一开始就产生一个整列表。

        (3)类型:①可迭代对象通过iter()转为迭代器;②生成器是一种特殊的迭代器。

2.生成器:

       (1)定义:生成器是迭代器的一种,包括含有yield关键字函数和生成器表达式。

       (2)用法:所有函数调用的参数都是第一次调用时保留的,而不是新建的,第一次调用时它会记住返回的位置,下次调用时会从上次返回的位置开始调用。

       (3)类型:①列表生成器,比如 (x for x in range(10)),for i in xrange(10);②带有yield的函数。

       (4)优点:节省内存;适合处理大型数据

3.装饰器:

       (1)用法:扩展到定义好的函数功能,甚至能改变函数执行的行为。

       (2)类型:①@staticmethod,@classmethod,@property

                             ②@csef_emept 进行scerf安全验证,@login_required进行登录验证

原创粉丝点击