天天看点

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,如需转载请自行联系原作者

继续阅读