疊代器
<code>name </code><code>=</code> <code>iter</code><code>(</code><code>'inter'</code><code>)</code>
<code>for</code> <code>i </code><code>in</code> <code>name: </code><code>#循環列印出疊代器中的内容</code>
<code> </code><code>print</code><code>(i)</code>
<code> </code><code>print</code><code>(</code><code>type</code><code>(i))</code>
<class 'str_iterator'>
i
<class 'str'>
n
t
e
r
應用在檔案操作中
<code>f </code><code>=</code> <code>open</code><code>(</code><code>'E:\暫存\建立文本文檔.txt'</code><code>,</code><code>'r'</code><code>)</code>
<code>print</code><code>(</code><code>type</code><code>(f))</code>
<code>for</code> <code>l </code><code>in</code> <code>f:</code>
<code> </code><code>print</code><code>(l) </code><code>#一行一行的列印出檔案内容</code>
<code>f.close()</code>
生成器
<code>def</code> <code>getNum(x):</code>
<code> </code><code>y</code><code>=</code><code>0</code>
<code> </code><code>while</code> <code>y < x:</code>
<code> </code><code>yield</code> <code>y </code><code>#傳回y</code>
<code> </code><code>y </code><code>+</code><code>=</code> <code>1</code>
<code>#執行的時候,函數執行到yield語句處就停止了,等待下一次疊代</code>
<code> </code>
<code>g </code><code>=</code> <code>getNum(</code><code>10</code><code>)</code>
<code>print</code><code>(</code><code>type</code><code>(g)) </code><code>#<class 'generator'></code>
<code>#print(g.__next__())</code>
<code>for</code> <code>i </code><code>in</code> <code>g:</code>
本文轉自 chomperwu 51CTO部落格,原文連結:http://blog.51cto.com/chomper/1941473,如需轉載請自行聯系原作者