Python3.2官方文档翻译--迭代器


6.9 迭代器

到目前为止,你可能已注意到许多容器对象都可以用for语句进行循环:

\

这种访问风格清楚简洁方便。 迭代器的应用是python遍历统一。在这种场景背后,for语句调用容器对象iter()方法。函数返回一个迭代器对象。在迭代器对象里定义了每次只能访问一个元素的方法_next_()。 当容器里面没有元素的时候,该方法就会抛出一个stZ喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcEludGVyYXRpb27S7LOjo6zTw8C0zOHQ0WZvctGtu7fW1da5oaPE47/J0tTTw8Ta1sO1xG5leHQoKbX308NfbmV4dF+3vbeoo7rS1M/C1eK49sD919PP1Mq+y/zKscjnus65pNf3tcShozwvcD4KPHA+IDxpbWcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20140509/20140509091937247.jpg" alt="\">

想必你已经看到迭代器背后的实现机制,给你自己的类添加一个迭代器是很容易实现的。定义一个_iter_()方法用来返回一个包含_next_()方法的对象。如果类中定义了_next_()方法,那么_iter_()就会返回本身。

\


评论关闭