Laten we het hebben over generatoren.
Een zeer belangrijke sleutelterm en nogal een geavanceerd onderwerp, wat zijn ze?
Generatoren zijn beschikbaar in Python en stellen ons in staat om in de loop van de tijd een reeks waarden te genereren.
Hm.
Wat betekent dat?
Laten we het onderzoeken.
Zie je, we hebben eerder een generator geleerd.
Herinner je je het bereik?
Nou, bereik is een generator.
Maar wat is dat?
Een generator is een speciaal type ding in Python dat ons in staat stelt om een speciaal sleutelwoord genaamd opbrengst te gebruiken,
en het kan functies pauzeren en hervatten.
Dus laat me dit demonstreren met een leuk klein voorbeeld dat je ziet als we zoiets als bereik gebruiken.
Vergeleken met iets als een lijst, laten we zeggen dat we een bereik omzetten in een lijst.
Zoals zo.
Een lijst, wat het doet, is een gigantische lijst maken, laten we zeggen, honderd items in het geheugen
van onze computers, geheugen versus een bereik.
Het creëert ze één voor één.
Laat me je laten zien, als ik een functie maak en laten we het make list noemen.
En deze make-lijst gaat accepteren.
Een getal.
En dit maak lijsten, nou, we zullen zeggen dat resultaat gelijk is aan een lege array, dan ga ik zeggen voor
I in het bereik van een.
We gaan het resultaat optellen, de punt omhoog en laten we het gewoon vermenigvuldigen voor de lol, keer op keer.
En tot slot geven we het resultaat terug.
Zie je, wanneer we een lijst maken zoals we hier net deden, doen we in wezen dit, we gebruiken bereik om een lijst te
maken en een resultaat terug te geven dat in het geheugen zal leven.
Dus laten we zeggen dat hier met Make List, ik ga zeggen dat mijn lijst gelijk zal zijn aan make list honderd als
ik print.
Mijn lijst.
En ik klik op uitvoeren.
Oh, en zorg ervoor dat mijn.
Parameter hier is de juiste naam.
En zorg ervoor dat ik append kan spellen.
We krijgen onze lijst, maar deze lijst hier leeft in ons geheugen.
Mijn lijst wijst naar een locatie in het geheugen.
Dus dit neemt nu ruimte in beslag, het bereik is een generator.
En een generator is een beetje anders omdat dit niet in het geheugen wordt vastgehouden als we
dit voor een lus doen, dit bereik creëert op zichzelf geen gigantische lijst van, laten we zeggen, nul tot negenennegentig en dan begint
het te herhalen nee met de for-lus.
Het gaat zeggen, hey, als een bereik, ik ga je eerst het nummer nul geven, dan ga ik je
het nummer één geven, dan nummer twee, het nummer drie, het nummer vier helemaal tot 100.
Dus in het geheugen maakt het nooit deze lijst zoals we hebben met, nou ja, mijn lijst.
En dit kan behoorlijk hectisch worden.
Rechts.
Laten we zeggen dat we een gigantische lijst willen maken.
Laten we zeggen dat ik een lijst wil maken met.
We zullen.
Deze hele reeks, als ik zou willen zeggen, print hier.
Deze gigantische lijst en ik klik op uitvoeren.
Oh, jongen, je ziet dat dat veel geheugen is dat ik opgebruik.
En als het eenmaal klaar is.
Wat het nog steeds doet.
Alleen dan kan ik deze lijst gebruiken en krijgt hij toegang tot die lijst en het geheugen.
En dan kunnen we het gebruiken.
Een efficiëntere manier is om een generator te gebruiken en deze één voor één te genereren zonder ruimte en geheugen
in te nemen.
Om te leren hoe we dat moeten doen met generatoren en hoe we ze daadwerkelijk kunnen gebruiken, moeten we naar de volgende les
gaan en wat oude kennis opnieuw bekijken.
Ik ga dit afmaken.
In de tussentijd zie ik je in de volgende video.
Doei.