什么是可迭代对象?有句通俗的话讲是:可遍历就可迭代
在迭代器中必须要有以下两种方法同时存在才能成为迭代器:
①: iter函数: 获取可迭代对象的迭代器,会调用可迭代对象身上的__iter__方法
②: next函数: 获取迭代器中下一个值,会调用迭代器对象身上的__next__方法
但是还有这样一种特殊的迭代器,没有以上两种方法,只有一个关键字:yield
当一个函数中存在yield关键字时,那么它就不在是一个函数了,而是一个特殊的迭代器,
两种启动方法, next( ) , 生成器对象.send( )
详见下图:
以上为个人总结,如有不对的地方,请多指教!