python简单理解迭代器,生成器,装饰器
2018-07-11 10:41
393 查看
迭代器; 是什么:是一个抽象的概念,任何对象,如果它实现了next方法和iter方法,就是迭代器。next方法要么返回迭代中的下一项,要么返回一个stapIteration异常,iter方法要返回一个迭代器对象,而它本身就是一个迭代器对象,所有返回自己本身。 作用:像我们提供一个中间人即迭代器帮助我们迭代遍历使用 for循环其实就实现了迭代器的功能,在遍历list,string,dict,tuple这些容器时,在 for语句对容器对象调用的iter()方法返回一个定义next()方法的迭代器对象,它在函数中逐个访问容器内的元素,next和iter都是python内置函数。 生成器: 是什么:生成器是一种特殊的迭代器,在函数中有yield关键字就可以说是生成器。 怎么用:调用next(),就会返回yield后面的值,生成器挂起,再次使用next就从上次停止的位置继续执行。 作用:延迟计算,一次返回一个结果。当我们需要结果的时候才会调用,而不是一次返回所有的结果。 也就是说,它不会一次生成所有的结果,这对于大数据量处理,将会非常有用。 创建方法:1.把列表生成式的[ ]改为()就是一个简单的列表生成器 2.使用yield关键字 生成器和迭代器的区别:生成器能做到迭代器能做到的所有事,因为自动创建iter方法和next方法,显的比较简洁,高效。使用生成器表达式比列表解析要节省内存(前者是需要的时候才调用next返回一个值,后者直接返回一个列表),自动抛出StopIteration异常 装饰器:在不改变已存在的对象的功能情况下添加额外的功能 def set_fun(func): call_fun(*arge,**kwargs): reurn func(*arge,**kwargs) return call_fun 作用:引用日志,函数执行预计时间,权限校验,缓存等阅读更多
相关文章推荐
- python的迭代器iterator和生成器generator(关键字yield)的简单理解
- 2.7 学python 装饰器2 生成器 迭代器 模块time random
- 完全理解 Python 迭代对象、迭代器、生成器
- Python_Day_5装饰器、字符串格式化、序列化、内置模块、生成器、迭代器之篇
- 深入理解Python迭代器与生成器
- 迭代器就是重复地做一些事情,可以简单的理解为循环,在python中实现了__iter__方法的对象是可迭代的,实现了next()方法的对象是迭代器,这样说起来有
- python迭代器简单理解
- 可爱的 Python: 迭代器和简单生成器
- Python之装饰器、迭代器和生成器
- 简单理解python中的装饰器
- 【Python】迭代器和生成器理解
- Python:迭代器的简单理解
- 个人理解的python中生成器与迭代器
- 完全理解Python迭代对象、迭代器、生成器
- Python之装饰器、迭代器和生成器
- 理解Python迭代对象、迭代器、生成器
- python学习笔记(5)--迭代器,生成器,装饰器,常用模块,序列化
- Python(四)装饰器、迭代器&生成器、re正则表达式、字符串格式化
- 完全理解PYTHON迭代对象、迭代器、生成器
- 完全理解Python迭代对象、迭代器、生成器