Parliamo di generatori.
Un termine chiave molto importante e un argomento abbastanza avanzato, cosa sono?
I generatori sono disponibili in Python e ci consentono di generare una sequenza di valori nel tempo.
Hmm.
Che cosa significa?
Esploriamolo.
Vedete, abbiamo già imparato a usare un generatore.
Ricordi l'intervallo?
Bene, la gamma è un generatore.
Ma cos'è quello?
Un generatore è un tipo speciale di cosa in Python che ci permette di usare una parola chiave speciale chiamata yield, e può
mettere in pausa e riprendere le funzioni.
Quindi lasciatemi dimostrare questo con un piccolo esempio carino che vedete quando usiamo qualcosa come range.
Rispetto a qualcosa come list, diciamo di convertire un intervallo in un elenco.
Così.
Un elenco, quello che fa è in realtà creare un elenco gigante, diciamo, di cento elementi in memoria nei
nostri computer, memoria rispetto a un intervallo.
Li crea uno per uno.
Lascia che te lo mostri, se creo una funzione e la chiamiamo make list.
E questo make list accetterà.
Un numero.
E questo crea elenchi, beh, diremo risultato uguale a un array vuoto, quindi dirò per
I nell'intervallo di an.
Aggiungeremo risultato, punto rovesciato e moltiplichiamolo per divertimento, io volte per.
E infine, restituiamo il risultato.
Vedete, quando creiamo un elenco come abbiamo appena fatto qui, essenzialmente stiamo facendo questo, stiamo usando l'intervallo per creare
un elenco e restituire il risultato che vivrà in memoria.
Quindi diciamo che qui con Make List, dirò che la mia lista sarà uguale a make list cento
quando stampo.
La mia lista.
E clicco su Esegui.
Oh, e assicurati che il mio.
Il parametro qui è il nome giusto.
E assicurati di poter scrivere append.
Abbiamo la nostra lista, ma questa lista qui vive nella nostra memoria.
La mia lista punta a una posizione nella memoria.
Quindi questo sta occupando spazio in questo momento, ora, la gamma è un generatore.
E un generatore è un po' diverso perché questo non viene tenuto in memoria quando lo
facciamo per loop, questo intervallo non crea da solo un elenco gigante, diciamo, da zero a novantanove e poi inizia a
ripetere no con il ciclo for.
Dirà, ehi, come intervallo, ti darò prima il numero zero, poi il numero uno, poi
il numero due, il numero tre, il numero quattro fino a 100.
Quindi in memoria non crea mai questa lista come abbiamo fatto con, beh, la mia lista.
E questo può diventare piuttosto frenetico.
Destra.
Diciamo che vogliamo creare un elenco gigante.
Ora, diciamo che voglio creare un elenco con.
Bene.
Questo intero array, se voglio dire, stampa qui.
Questa lista gigante e io clicco su Esegui.
Oh, ragazzo, vedi che è un sacco di memoria che sto usando.
E una volta fatto.
Che sta ancora andando.
Solo allora posso usare questo elenco e accederà a quell'elenco e alla memoria.
E poi siamo in grado di usarlo.
Un modo più efficiente è utilizzare un generatore e generarli effettivamente uno alla volta senza occupare spazio
e memoria.
Ora, per imparare a farlo con i generatori e come usarli effettivamente, dobbiamo passare alla lezione successiva
e rivisitare alcune vecchie conoscenze.
Lascerò che questo sia completo.
Nel frattempo, ci vediamo nel prossimo video.
Ciao.