freeCodeCamp/guide/chinese/python/iterators/index.md

40 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Python Iterators
localeTitle: Python迭代器
---
Python支持迭代容器的概念。这是使用两种不同的方法实现的;这些用于允许用户定义的类支持迭代。
[Python文档 - 迭代器类型](https://docs.python.org/3/library/stdtypes.html#iterator-types)
迭代是以编程方式重复步骤给定次数的过程。程序员可以利用迭代对数据集合中的每个项目执行相同的操作,例如打印出列表中的每个项目。
* 对象可以实现`__iter__()`方法,该方法返回迭代器对象以支持迭代。
* 迭代器对象必须实现:
* `__iter__()` :返回迭代器对象。
* `__next__()` :返回容器的下一个对象。
iterator _object ='abc'。 **iter** print迭代器_对象) printid迭代器_对象 printiditerator_ **object。iter** ()))#返回迭代器本身。 打印迭代器_对象。 **下一个** ())#返回第一对象和前进迭代器。 打印迭代器_对象。 **下一个** ())#返回第二对象和前进迭代器。 打印迭代器_对象。 **下一个** ())#返回第三对象和前进迭代器。 打印迭代器_对象。 **下一个** 引发StopIteration异常。
输出:
```
<str_iterator object at 0x102e196a0>
4343305888
4343305888
a
b
c
---------------------------------------------------------------------------
StopIteration Traceback (most recent call last)
<ipython-input-1-d466eea8c1b0> in <module>()
6 print(iterator_object.__next__()) # Returns 2nd object and advances iterator.
7 print(iterator_object.__next__()) # Returns 3rd object and advances iterator.
----> 8 print(iterator_object.__next__()) # Raises StopIteration Exception.
StopIteration:
```