‫Bentornato, voglio parlarti di alcune utili funzioni che otteniamo che effettivamente ci permettono di pensare
‫in un paradigma di programmazione funzionale.
‫Il nome di queste funzioni sono map filter.
‫Zipp.
‫E ridurre in queste sono funzioni molto, molto utili e molto comuni che scriverai molto quando sarai un programma
‫Python.
‫Quindi esploriamoli.
‫Primo, inizieremo con MAP.
‫E map in realtà ci consente di semplificare il codice che abbiamo qui di moltiplicare per due.
‫Vedete, con la matematica, l'ho disponibile come funzione, come funzione incorporata, e qui vediamo che
‫diamo una funzione al primo parametro e quindi il secondo parametro è un iterabile.
‫Un buon modo per pensarci è che vogliamo intraprendere una sorta di azione qui.
‫Quindi una funzione e quindi i dati su cui vogliamo agire.
‫Quindi diciamo nel nostro caso, uno, due, tre.
‫Quindi quale azione vogliamo intraprendere?
‫Uno due tre.
‫Bene, vogliamo moltiplicare per due, quindi diciamo moltiplicare.
‫Per due.
‫Ora, devo spostarlo in basso perché dobbiamo prima definire la funzione.
‫Ed eseguilo in questo modo, quindi invece di stamparlo, facciamolo.
‫Stampa.
‫In questo modo, se lo eseguo.
‫Ottengo un oggetto mappa in questa posizione di memoria.
‫E map ci dà automaticamente questo oggetto che ha creato in questa memoria.
‫Quindi, per poterlo effettivamente visualizzare, dobbiamo trasformarlo in un elenco come questo.
‫Quindi se eseguo questo.
‫Dice che l'oggetto in linea per int non è iterabile, beh, è perché con MAP, non è più necessario
‫eseguire questa creazione di un elenco e poi aggiungerlo a un elenco.
‫Vedete, la cosa bella di MAP è che gli fornisco alcuni dati e poi questi dati vengono elaborati da questo.
‫E tutto ciò che dobbiamo fare con la funzione map è avere una funzione che restituisce.
‫Questa parte, Eitam per due, quindi invece di avere tutto questo codice, tutto ciò che dobbiamo fare è dire return.
‫Voce volte a.
‫Quindi cambiamo questo parametro in item.
‫E guarda il codice un po' più in dettaglio.
‫Quindi con la mappa, dico, ehi, voglio che tu esegua la funzione, moltiplica per due, nota qui che non
‫ho nemmeno le parentesi perché non ho bisogno di chiamarla mappa.
‫fa per me?
‫Map dice solo, ehi, dammi solo la funzione, io mi occuperò del resto.
‫Quindi non sto chiamando la funzione qui.
‫La mappa chiamerà la funzione per me.
‫Dico solo, ehi, quando chiamo Map in questo modo.
‫Voglio che tu usi questa funzione a questo indirizzo di memoria e usi questi dati.
‫Ricordi il nostro paradigma di programmazione funzionale?
‫Abbiamo dati su cui si agisce, quindi li separiamo.
‫Ora, questa funzione prenderà ciascuno degli elementi nei nostri commestibili, nel nostro caso, la prima volta che l'elemento sarà
‫uno, poi due, poi tre.
‫E poi tutto ciò che dobbiamo fare è restituire l'effetto che vogliamo avere su quell'oggetto.
‫Nel nostro caso, per farlo, questa mappa esegue automaticamente questa funzione per noi e scorre tutti gli
‫elementi nell'iterabile e restituisce per noi un nuovo oggetto mappa che convertiremo in un elenco
‫se lo eseguo.
‫Ne prendo due, quattro, sei.
‫Ora, ecco la parte bella, se lo faccio, diciamo la mia lista e dico uno, due, tre.
‫E ho cambiato la mia lista qui.
‫In questo modo e alla fine, stampa anche la mia lista se clicco su Esegui.
‫Vedrai che la mia lista non è cambiata.
‫Ricordare?
‫Una funzione pura è una funzione che non influenza il mondo esterno in questo modo, la mappa ci consente di creare un
‫elenco completamente nuovo.
‫Questo non modifica la mia lista.
‫Quindi la mia lista è immutabile, giusto?
‫Non lo cambiamo e tutto ciò che fa è mappare la funzione, se ne occupa e ci restituisce un nuovo elenco.
‫Ma non influenziamo il mondo esterno.
‫Non ci sono effetti collaterali in questa funzione.
‫Stiamo semplicemente moltiplicando elemento per elemento per due creando un nuovo elenco da questo.
‫E ogni volta che gli diamo lo stesso input, il risultato sarà lo stesso output.
‫Molto, molto interessante e la mappa è estremamente utile perché ogni volta che abbiamo qualcosa su
‫cui possiamo iterare e vogliamo cambiare, diciamo che abbiamo e-mail o nomi utente e dobbiamo aggiornare i nomi utente per, diciamo,
‫essere tutti in maiuscolo .
‫In tal caso, possiamo iterare e usare la funzione matematica, cambiare tutti i nomi utente nel nostro elenco in, diciamo, la
‫mappa delle lettere maiuscole sarà una di quelle funzioni che usi molto nella tua carriera di programmatore.
‫E spero che tu possa vedere qui quanto sia pulito e piacevole, ancora una volta, usare paradigmi di programmazione funzionale.
‫Passiamo al prossimo.
‫Parliamo di Filtro dopo.