Python - 三神:迭代器、生成器、装饰器
最编程
2024-04-07 11:52:59
...
Python - 三大神器 迭代器,生成器,装饰器
在介绍三大器之前先来了解一下容器和可迭代对象...
一.容器
容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, not in关键字判断元素是否包含在容器中。通常这类数据结构把所有的元素存储在内存中(也有一些特例,并不是所有的元素都放在内存,比如迭代器和生成器对象)在Python中,常见的容器对象有:
- list, deque...
- set, frozensets(不可变集合)...
- dict, defaultdict, OrderedDict, Counter...
- tuple, namedtuple...
- str
容器的概念就像一个盒子,可以往里面装东西.当它可以用来询问某个元素是否包含在其中时,那么这个对象就可以认为是一个容器,比如 list,set,tuples都是容器对象:
Python提供一些语句和关键字用于访问可迭代对象的元素,比如for循环、列表解析、逻辑操作符等。
判断一个对象是否是可迭代对象:
1. 省内存 -> 生成器
2. 惰性机制
3. 只能向前. 不能反复