yield的作用
yield可以返回生成器内部数据挂起当前函数执行过程继承当前状态再次调用生成器,从上次挂起的位置继续执行generator.send(sign)的作用
唤醒generator,并继续执行发送一个信息到生成器内部for循环调用
能获取yield的返回获取不到return语句的返回值需要获取return,必须捕获StopIteration错误,返回值包含在StopIteration.value迭代器表示的是一个数据流,可以把这个数据流看做一个有序序列,但不能提前知道长度
next()的使用
next(Iterator)Iterator.__next__()可以使用isinstance()判断一个对象是否是Iterable对象:
>>> from collections import Iterable >>> isinstance([], Iterable) True >>> isinstance({}, Iterable) True >>> isinstance('abc', Iterable) True >>> isinstance((x for x in range(10)), Iterable) True >>> isinstance(100, Iterable) False可以使用isinstance()判断一个对象是否是Iterator对象:
>>> from collections import Iterator >>> isinstance((x for x in range(10)), Iterator) True >>> isinstance([], Iterator) False >>> isinstance({}, Iterator) False >>> isinstance('abc', Iterator) False转载于:https://www.cnblogs.com/chacecai/p/8963539.html