[Python] richiesta di informazioni.

enrico franchi enrico.franchi a gmail.com
Mar 10 Lug 2012 11:41:21 CEST


2012/7/10 Davide Rambaldi <davide.rambaldi a gmail.com>

Ma non viene descritto in Dive into Python (almeno non nei primi11 capitoli
> che mi sono sparato)
>

 Direi che quel libro e' vecchio come il cucco...




> Che funzione ha?
>

Implementare anamorfismi con sintassi e semantica imperative...



> Ad occhio mi sembra pių simile ad uno strumento per fare iteration in
> strutture dati (stile STL in C++)
>

E' uno strumento per fare iterazione (fra le varie cose). Anzi... direi per
fare *generazione*. E di fatto non e' particolarmente legato al concetto di
struttura dati, anzi, essenzialmente e' completamente ortogonale. Che poi
funzioni bene anche con le strutture dati e' ovviamente un'altra questione.

In pratica una funzione che contiene yield diventa "magica". Invece di
ritornare un valore, ritorna un generatore.
Quando tu cerchi di ottenere un elemento dal generatore, lui esegue il
corpo della funzione fino a trovare uno yield e poi ritorna il valore
yieldato. Quando gli chiedi un altro valore, lui riparte da dove era
arrivato e va fino al successivo. Quando la cosa termina, lancia
StopIteration.

Per dire... puoi usare la cosa sia per fare un affare che ti fa visite su
un grafo, sia un coso che ti genera tutti i primi (ovviamente un numero
arbitrariamente grande di essi, tutti no poiche' sono infiniti).

Come lo utilizzate in python?
>

Generatori, coroutines, lazyness, concorrenza, cornetto & cappuccino.


-- 
.
..: -enrico-
-------------- parte successiva --------------
Un allegato HTML č stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120710/3e66b137/attachment.html>


Maggiori informazioni sulla lista Python