The study of iterator in Python(20170912)
2017-09-12 11:51
501 查看
The study of iterator in Python
how to judge a object is a interable object or not
from collections import Iterableprint(isinstance([],Iterable)) # true
print(isinstance((),Iterable)) # true
print(isinstance({},Iterable)) # true
print(isinstance(100,Iterable)) # false
可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator
how to judge a object is a interator objecet or not
from collections import Iteratorprint(isinstance((x for x in range(10)), Iterator)) # true
print(isinstance([],Iterator)) # false
print(isinstance({},Iterator)) # false
print(isinstance((),Iterator)) # fasle
print(isinstance(‘abcd’,Iterator)) # false
the interator object is data flow
can be called by the next() function and then return the next data
凡是可作用于for循环的对象都是Iterable类型;
凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;
集合数据类型如list、dict、str等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象。
Python的for循环本质上就是通过不断调用next()函数实现的
Iterable(可迭代对象):可以直接作用于for循环的对象
可以使用isinstance()判断一个对象是否是Iterable对象
Iterator(迭代器对象):可以被next()函数调用并不断返回下一个值的对象称为
可以使用isinstance()判断一个对象是否是Iterator对象
将可迭代对象(Iterable)对象转换为迭代器(Iterator)对象,使用iter()函数
惰性,就是理论上可存在,但是使用时才计算,不使用就只是输出一个值
相关文章推荐
- The study of generator in Python(20170912)
- The study of literation in Python(20170911)
- The study of calling fuction in Python(20170907)
- The study of recursive function in Python(20170910)
- The study of list ,tuple and conditional statement in Python(20170905)
- The study of loop in Python(20170906)
- The study of access restriction in Python(20170920) 访问限制
- The study of List Comprehensions in Python(20170911)
- The study of how to define a function in Python(20170907)
- The study of Class and Instance in Python(20170918)
- The study of map() and reduce() function in Python(20170913)
- The study of Higher-order function in Python(20170913)
- The study of parameter of function in Python(20170908)
- The study of slice in Python(20170911)
- 深入研究 STL Deque 容器-An In-Depth Study of the STL Deque Container (By Nitron)
- python读取csv文件是报错_csv.Error: iterator should return strings, not bytes (did you open the file in text
- python csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)
- The study of chapter 13 in programming windows with mfc-printing with document and views
- the built-in function of reduce in python
- python: find the index of a given value in a list