‫Welkom terug, ik wil met je praten over enkele handige functies die we krijgen die ons in staat
‫stellen om in een functioneel programmeerparadigma te denken.
‫De naam van deze functies is kaartfilter.
‫Zipp.
‫En dit zijn zeer, zeer nuttige, veel voorkomende functies die je veel zult schrijven als je een Python-programma
‫bent.
‫Dus laten we ze verkennen.
‫Ten eerste gaan we beginnen met MAP.
‫En met kaart kunnen we de code die we hier hebben vereenvoudigen door met twee te vermenigvuldigen.
‫Zie je, met wiskunde heb ik het beschikbaar als een functie, als een ingebouwde functie, en we zien
‫hier dat we de eerste parameter een functie geven en dan is de tweede parameter een iterabele.
‫Een goede manier om erover na te denken, is dat we hier een soort van actie willen ondernemen.
‫Dus een functie en dan de data waar we actie op willen ondernemen.
‫Dus laten we zeggen in ons geval, één, twee, drie.
‫Dus welke actie willen we ondernemen?
‫Een twee drie.
‫We willen vermenigvuldigen met twee, dus laten we zeggen vermenigvuldigen.
‫Met twee.
‫Nu moet ik dit naar beneden verplaatsen omdat we eerst de functie moeten definiëren.
‫En voer het zo uit, dus laten we het doen in plaats van dit af te drukken.
‫Afdrukken.
‫Zoals dit, als ik het run.
‫Ik krijg een kaartobject op deze geheugenlocatie.
‫En kaart geeft ons automatisch dit object dat het in dit geheugen heeft gemaakt.
‫Dus om het echt te kunnen bekijken, moeten we het in een lijst als deze veranderen.
‫Dus als ik dit uitvoer.
‫Er staat dat online voor int-object niet itereerbaar is, nou ja, het is omdat we met MAP niet langer deze creatie
‫van een lijst hoeven te maken en vervolgens aan een lijst moeten toevoegen.
‫Zie je, het leuke van MAP is dat ik het wat gegevens geef en dan wordt er op deze gegevens
‫gereageerd.
‫En alles wat we met de kaartfunctie hoeven te doen, is een functie hebben die terugkeert.
‫Dit deel, Eitam maal twee, dus in plaats van al deze code te hebben, hoeven we alleen maar terug te zeggen.
‫Artikel tijden tot.
‫Laten we deze parameter dus veranderen in item.
‫En bekijk de code een beetje meer in detail.
‫Dus met de kaart, zeg ik, hé, ik wil dat je de functie uitvoert, vermenigvuldig met twee, merk hier op dat ik
‫niet eens de haakjes heb omdat ik het geen kaart hoef te noemen.
‫Is het voor mij?
‫Map zegt gewoon, hé, geef me de functie, ik zorg voor de rest.
‫Dus ik roep de functie hier niet aan.
‫De kaart gaat de functie voor mij aanroepen.
‫Ik zeg alleen maar, hé, als ik de kaart zo roep.
‫Ik wil dat je deze functie op dit geheugenadres gebruikt en deze gegevens gebruikt.
‫Herinner je je ons functionele programmeerparadigma nog?
‫We hebben gegevens waarop actie wordt ondernomen, dus die twee scheiden we van elkaar.
‫Nu, deze functie zal elk van de items in onze eetwaren nemen, in ons geval zal de eerste keer dat het item
‫één is, dan twee, dan drie.
‫En dan hoeven we alleen maar terug te geven welk effect we op dat item willen hebben.
‫In ons geval is het om dit te doen door deze kaart te doen, voert deze functie automatisch voor ons uit en
‫doorloopt alle items in de iterable en geeft ons een nieuw kaartobject terug dat we in een lijst gaan omzetten
‫als ik dit uitvoer.
‫Ik krijg twee, vier, zes.
‫Nu, hier is het leuke deel, als ik dat doe, laten we zeggen mijn lijst en ik zeg één, twee, drie.
‫En ik heb mijn lijst hier gewijzigd.
‫Zoals dit en aan het einde ook mijn lijst afdrukken als ik op uitvoeren klik.
‫Je zult zien dat mijn lijst niet is veranderd.
‫Onthouden?
‫Een pure functie is een functie die de buitenwereld niet op deze manier beïnvloedt, kaart stelt ons in staat om een hele nieuwe
‫lijst te maken.
‫Dat verandert niets aan mijn lijst.
‫Dus mijn lijst is onveranderlijk, toch?
‫We veranderen het niet en het enige wat het doet is de kaartfunctie, zorgt ervoor en retourneert een nieuwe lijst voor ons.
‫Maar we hebben geen invloed op de buitenwereld.
‫Er zijn geen bijwerkingen in deze functie.
‫We vermenigvuldigen simpelweg item tot item met twee door hier een nieuwe lijst van te maken.
‫En elke keer dat we het dezelfde invoer geven, resulteert dit in dezelfde uitvoer.
‫Heel, heel cool en kaart is buitengewoon handig, want elke keer dat we iets hebben dat we kunnen
‫herhalen en dat we willen veranderen, laten we zeggen dat we e-mails of gebruikersnamen hebben en we de gebruikersnamen moeten bijwerken naar, laten
‫we zeggen, allemaal hoofdletters zijn .
‫In dat geval kunnen we herhalen en de wiskundige functie gebruiken, alle gebruikersnamen in onze lijst veranderen in, laten we zeggen,
‫de kaart met hoofdletters zal een van die functies zijn die je veel gebruikt in je programmeercarrière.
‫En ik hoop dat je hier kunt zien hoe schoon en mooi het is, nogmaals, met behulp van functionele programmeerparadigma's.
‫Laten we naar de volgende gaan.
‫Laten we het hierna hebben over Filter.