天天看點

chomperwu

疊代器

<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>

&lt;class 'str_iterator'&gt;

i

&lt;class 'str'&gt;

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 &lt; 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>#&lt;class 'generator'&gt;</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,如需轉載請自行聯系原作者

繼續閱讀