门户网站宣传方案,精品课程网站开发项目,电子商城商务平台,网站信息资源建设包括哪些可迭代 内置方法中含有__iter__的数据类型都是可迭代的#xff0c;只要是可迭代的就可以使用for循环#xff0c;反之亦然。 print(dir()) # dir()函数可以获取当前数据类型的所有内置方法 返回值是list
print(__iter__ in dir([])) # 判断是否含有__iter__内置方法 迭代器… 可迭代 内置方法中含有__iter__的数据类型都是可迭代的只要是可迭代的就可以使用for循环反之亦然。 print(dir()) # dir()函数可以获取当前数据类型的所有内置方法 返回值是list
print(__iter__ in dir([])) # 判断是否含有__iter__内置方法 迭代器 内置方法中含有__iter__和__next__的都是迭代器所以迭代器一定是可迭代的 # 一个可迭代的对象调用__iter__()之后会返回一个迭代器
print(type([].__iter__())) # class list_iterator 迭代器可以使用__next__()方法一个一个去获取值 li [1, 2, 3, 4, 5]
iterator li.__iter__()
print(iterator.__next__()) # 1
print(iterator.__next__()) # 2
print(iterator.__next__()) # 3 迭代器的好处: 从容器内一一取值可以取出全部内容 节省内存空间每次取值时才在内存中生成一个值 迭代器和可迭代判断方法 from collections import Iterator
from collections import Iterable
print(isinstance([], Iterator)) # Iterator 迭代器
print(isinstance([], Iterable)) # Iterable 可迭代 生成器 生成器是含有yield关键字的迭代器。 # 定义
def generator():函数体yield 返回值调用生成器后返回的是一个生成器。 def generator():print(生成器)yield zxcreturn a
# 生成器中yield和return能同时存在return在yield后面定义没有任何意义
# return在yield前面定义将无法执行yield也就不在是生成器了
ret generator()
print(type(ret)) # class generator 转载于:https://www.cnblogs.com/zxc-Weblog/p/8179123.html