‫Ben tornato.
‫Proviamo a rispondere ad alcune domande che potresti avere, ad esempio, per quanto riguarda i parametri?
‫Se faccio il parametro, diciamo essere qui, qual è questo parametro quando uso B in questo modo?
‫Quindi diciamo stampa.
‫B e qui dentro, farò confusione con, diciamo, il numero trecento se eseguo questo.
‫Questo funziona.
‫E questo perché be il parametro fa parte dell'ambito locale, cioè fa parte di questo.
‫Quindi i parametri sono considerati variabili locali.
‫Siamo in grado di usarlo all'interno della funzione, ma possiamo usarlo al di fuori di quelle funzioni.
‫Tecnicamente, quando definiamo la funzione, facciamo sapere all'interprete, ehi, B sarà una variabile
‫locale.
‫OK, che ne dici di questo?
‫E se avessimo questo, eh?
‫Ma voglio assicurarmi che all'interno della mia funzione mi riferisco effettivamente alla A globale, c'è
‫un modo per usare semplicemente questo valore senza creare una nuova variabile?
‫Bene, usiamo un esempio migliore per questo.
‫Diciamo che volevo creare un contatore.
‫Quindi avremo totale uguale a zero.
‫E poi qui dentro.
‫Sto per dire definire il conteggio.
‫E questa funzione dirà totale.
‫Più è uguale a uno.
‫Quindi aggiungeremo ogni singola volta che aggiungiamo il conteggio, incrementerà zero di uno e poi uno
‫per uno, e così via.
‫Quindi restituiremo il totale alla fine di questo.
‫Ok, quindi se corro qui, stampa.
‫Contare.
‫Vediamo cosa succede.
‫Vado a correre.
‫E ottengo un'altra variabile locale a cui si fa riferimento prima dell'assegnazione, e questo perché, beh, Conte non conosce
‫il totale.
‫Stai cercando di utilizzare il totale, ma non abbiamo ancora assegnato nulla.
‫Ma vogliamo che il totale dal mondo esterno venga eseguito, perché se lo faccio, il totale è uguale a zero qui e
‫io eseguo il conteggio.
‫È fantastico, ne ricevo uno, ma cosa succede se volessi eseguire il conteggio più volte?
‫E se volessi eseguire il conteggio?
‫Diciamo tre volte in modo che il conteggio totale sia tre.
‫Quindi stampiamo l'ultimo qui.
‫E clicco su Esegui.
‫Ne ottengo ancora uno perché ogni volta che eseguiamo la funzione, azzeriamo il totale.
‫Non è molto utile, vero?
‫Quindi un modo per risolvere questo problema è usare quella che chiamiamo la parola chiave globale in Python e globale dice usa il
‫totale globale se esiste qui, in modo che invece di dover creare una nuova variabile, posso usare il
‫totale della variabile globale.
‫Controllalo.
‫Bene, ottengo una sintassi non valida, e questo perché dobbiamo prima dire che il totale globale verrà utilizzato
‫qui e poi possiamo dire che totale più è uguale a uno se eseguo questo.
‫Uno sguardo a questo, abbiamo un contatore appropriato, quindi globale è un modo per noi di accedere a questa variabile globale.
‫Tuttavia, sostengo che questo in realtà non è un buon modo di fare le cose perché può diventare davvero
‫confuso quando inizi ad aggiungere Global e tutti questi diversi universi accedono alle variabili dell'altro, un modo migliore
‫per farlo è qualcosa chiamato iniezione di dipendenza, e questa è una versione semplificata di esso.
‫Ma l'idea è che invece di accedere a variabili al di fuori della funzione come questa, che può diventare davvero, davvero complicata
‫man mano che i file diventano sempre più grandi, è da fare.
‫Invece questo.
‫Totale.
‫In questo modo, creiamo un parametro e poi lo passiamo.
‫O litigare qui.
‫Ma come puoi vedere, è ancora uno perché quando stampiamo il terzo totale, beh, questo non cambia
‫mai.
‫Questo è uno zero globale.
‫Quindi, invece, possiamo fare qualcosa del genere, possiamo dire conteggio totale, di cui conteremo di nuovo.
‫E poi contare di nuovo.
‫Se eseguo questo.
‫Ne ho tre e so cosa stai pensando, questo è completamente folle, sembra confuso.
‫Guarda tutte queste parentesi.
‫Ma lascia che ti mostri cosa abbiamo effettivamente fatto.
‫Siamo in grado di staccare la dipendenza o l'effetto che questo non può avere sull'ambito globale esterno e concentrarci
‫invece solo sulla sua salute.
‫Tutto quello che dovevamo fare era dire, ehi, voglio che tu dia un conteggio con un totale di zero.
‫E poi, questo valuterà due uno.
‫E poi contiamo un totale di uno più uno sarà uguale a due e poi contiamo due più uno
‫sarà uguale a tre.
‫In questo modo, siamo ancora in grado di fare il nostro conteggio senza dover usare quella parola chiave globale, che direi che
‫è più carina.
‫Intendiamoci, se è la prima volta che lo vedi, può diventare un po' complicato.
‫Ma almeno in questo modo, sai che ci sono diversi modi di fare le cose.
‫Un'altra parola che voglio mostrarti è qualcosa chiamato non locale.
‫Ma per quello, facciamo una pausa e ci vediamo nel prossimo video.