<tt><font size=2>&gt;problém je v tomto:<br>
&gt;<br>
&gt;sum je standardní funkce:<br>
&gt;<br>
&gt;&gt;&gt;&gt; sum(i**i for i in range(10))<br>
&gt;<br>
&gt;tady mně to prostě uniká - když závorky patří funkci sum, tak vnitřek
by<br>
&gt;měl být uzavřený do závorek taky.</font></tt><font size=2 face="sans-serif"><br>
</font>
<br><font size=2 face="sans-serif">funguje to takto </font>
<br><font size=2 face="sans-serif">&gt;&gt;&gt; sum(i*i for i in range(3))</font>
<br><font size=2 face="sans-serif">5</font>
<br><font size=2 face="sans-serif">alebo aj takto ked je vnutrajsok funkcie
sum() uzavrety do zatvoriek:</font>
<br><font size=2 face="sans-serif">&gt;&gt;&gt; sum((i*i for i in range(3)))</font>
<br><font size=2 face="sans-serif">5</font>
<br>
<br>
<br>
<br>
<br>
<br><font size=1 color=#5f5f5f face="sans-serif">From: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">David Rohleder &lt;davro@ics.muni.cz&gt;</font>
<br><font size=1 color=#5f5f5f face="sans-serif">To: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">Konference PyCZ &lt;python@py.cz&gt;</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Date: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">05.03.2010 08:00</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Subject: &nbsp; &nbsp;
&nbsp; &nbsp;</font><font size=1 face="sans-serif">Re: [python]
dokumentace k novejsim rysum jazyka</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Sent by: &nbsp; &nbsp;
&nbsp; &nbsp;</font><font size=1 face="sans-serif">python-bounces@py.cz</font>
<br>
<hr noshade>
<br>
<br>
<br><tt><font size=2>Jirka Vejrazka píše v Pá 05. 03. 2010 v 01:01 +0100:<br>
&gt; &gt; čili se to chová jinak než standardní tuple, je to spíš něco,
čemu se říká generátor.<br>
&gt; <br>
&gt; Nojo, vida - to jsem nevedel, ze s kulatymi zavorkami to vytvori<br>
&gt; generator, diky :)<br>
&gt; <br>
&gt; Generator ma tu vyhodu, ze se nic nevytvari v pameti. Zrejme je to,<br>
&gt; kdyz se pouzije misto range (ktery interne dela list) funkce xrange<br>
&gt; (coz je taky generator) - tohle plati pro Python 2.4 ktery ted mam<br>
&gt; spusteny, v novejsich uz je to mozna jinak)<br>
&gt; <br>
&gt; &gt;&gt;&gt; a = [x for x in xrange(100000000)] &nbsp;# vytvori v
pameti list, ktery ma 100 milionu prvku (bude chvili trvat)<br>
&gt; &gt;&gt;&gt; a = (x for x in xrange(100000000)] &nbsp;# bleskove vytvori
generator, ktery po zavolani a.next() najde a vrati &quot;dalsi prvek v
poradi&quot;<br>
&gt; <br>
&gt; &gt;&gt;&gt;&gt; b=(1,2,3)<br>
&gt; &gt;&gt;&gt;&gt; b.next()<br>
&gt; &gt; Traceback (most recent call last):<br>
&gt; &gt; &nbsp;File &quot;&lt;stdin&gt;&quot;, line 1, in &lt;module&gt;<br>
&gt; &gt; AttributeError: 'tuple' object has no attribute 'next'<br>
&gt; <br>
&gt; Tohle uz je logicke, to je normalni tuple.<br>
&gt; <br>
&gt; &gt; Mně se takové věci celkem líbí, ale připadne mně to nějak
nedomyšlené,<br>
&gt; &gt; protože by celý ten generátor měl tvořit samostatnou syntaktickou<br>
&gt; &gt; jednotku, tj. interpret by měl nějak sežrat zápis<br>
&gt; &gt;<br>
&gt; &gt;&gt;&gt;&gt; i*i for i in range(10)<br>
&gt; <br>
&gt; Proc, tady nejsou okolo zavorky, je to syntakticky neco uplne jineho...<br>
&gt; <br>
<br>
problém je v tomto:<br>
<br>
sum je standardní funkce:<br>
<br>
&gt;&gt;&gt; sum(i**i for i in range(10))<br>
<br>
tady mně to prostě uniká - když závorky patří funkci sum, tak vnitřek
by<br>
měl být uzavřený do závorek taky.<br>
<br>
D.<br>
<br>
_______________________________________________<br>
Python mailing list<br>
Python@py.cz<br>
</font></tt><a href=http://www.py.cz/mailman/listinfo/python><tt><font size=2>http://www.py.cz/mailman/listinfo/python</font></tt></a><tt><font size=2><br>
</font></tt>
<br>