[PIPython] generators
Alex Martelli
aleaxit
Ven 19 Nov 2004 15:16:44 CET
On Wednesday 17 March 2004 02:25 pm, Andrea Manzini wrote:
> ciao a tutti!
>
> mi sa che non ho capito bene come si usano i generators :(
Hmsi`, una piccola cosetta...:
> %%cut%%
>
> def id(n=0):
> i = n
> while 1:
> i += 1
> yield i
>
> for j in range(10):
> print id().next()
Chiamando ogni volta la funzione (brutto nome, ricopre la funzione builtin
'id', ma non e` questo il bug) riparti ogni volta da zero.
> %%cut%%
>
> non dovrebbe stamparmi i numeri da 1 a 10 ? Invece mi stampa tutti "1" ..
> Qualcuno mi puo' illuminare ? Uso python 2.3 (sia sotto linux che sotto
> win, stesso comportamento)
Fai FUORI dal loop un'unica istanza del generatore poi chiama sempre quella:
boo = id()
for j in range(10): print boo.next()
Alex
More information about the Python
mailing list