‫Va bene, facciamo un giochino, riesci a indovinare quale sarà l'output di questo programma?
‫Ho qui uguale a uno.
‫Quindi creiamo una funzione chiamata confusione dove abbiamo un uguale a cinque e restituiamo una mia domanda è,
‫quando stampiamo A e quando stampiamo confusione, cosa ti aspetti che accada qui?
‫Prenditi un secondo per capire se hai bisogno di una pausa, e scopriamolo.
‫Uno su cinque.
‫È quello che ti aspettavi?
‫Andiamo riga per riga.
‫Innanzitutto, assegniamo il valore di uno alla variabile A, quindi creiamo una funzione chiamata confusione e l'interprete Python dirà,
‫va bene, funzione confusione, so cos'è.
‫Lo metto in memoria.
‫Quando hai bisogno di usarmi, fammelo sapere.
‫E poi andrà alla riga otto e la riga otto dirà, ehi, stampa un cos'è un..
‫Beh, l'unica volta che ho visto A è proprio qui, uguale.
‫Quindi andando a memoria cosa dire è uguale a uno.
‫Ma poi quando corro confusione come questa.
‫Dirò, ehi, A sarà uguale a cinque e ora torniamo, che è cinque.
‫OK, cosa succede se cambio l'ordine di questo?
‫E se vado così?
‫Cosa accadrà?
‫Se clicco, corro.
‫È quello che ti aspettavi?
‫Ancora una volta, ne abbiamo uno vicino, quindi definiamo la funzione e quindi stampiamo confusione.
‫Ora, la confusione qui assegnerà un uguale a cinque e poi restituirà A, ma perché non è cambiato?
‫Perché A è ancora uguale a uno quando arriviamo qui?
‫E questo è a causa della portata, giusto?
‫Quello che fa l'interprete Python è quando esegue la funzione confusione, dirà, ehi, A sarà
‫uguale a cinque, ma sto creando una variabile qui chiamata A nel mio universo.
‫Non so niente di uno uguale qui.
‫Ho il mio universo e dopo aver eseguito questa funzione, bene, abbiamo finito.
‫Abbiamo restituito la funzione ed è completamente sparita.
‫Ma non abbiamo mai lasciato l'universo nell'ambito globale.
‫Quindi c'è una serie di regole che l'interprete Python passa per controllare una variabile e le regole sono
‫queste.
‫Innanzitutto, verificherà con il locale.
‫Quindi inizia con local e ciò che chiamiamo ambito locale.
‫Un ambito locale è un ambito che fa parte di questa funzione locale.
‫Quindi A è un ambito locale.
‫Controllerà lì.
‫Ehi, conosco la variabile?
‫Ebbene, sì.
‫Quando restituisco A, ho una variabile definita qui, quindi inizia lì.
‫Ma diciamo che un non c'era.
‫Diciamo che rimuovo e clicco su Esegui qui.
‫Ottengo entrambi una volta, perché la seconda regola è se non c'è nulla nella variabile locale o nell'ambito
‫locale, quindi numero due, c'è una scuola locale genitore?
‫Nel nostro caso, qual è il genitore della disfunzione?
‫Bene, è l'ambito globale, ma possiamo anche svolgere un'altra funzione.
‫Diciamo che genitore e genitore è un genitore della funzione di confusione.
‫E qui, diciamo che un fa due 10.
‫Ora, qui dentro, torneremo.
‫Confusione solo così possiamo usarlo di nuovo ed eseguirlo effettivamente.
‫Quindi chiamiamo genitore.
‫E fai clic su Esegui.
‫Va bene, esaminiamo questo in modo che non sia troppo confuso.
‫Abbiamo la loro funzione genitore che viene chiamata.
‫Quindi quando lo chiamiamo assegniamo a uguale a dieci e poi creiamo anche una nuova funzione, confusione.
‫E poi finalmente restituiamo la confusione e la eseguiamo effettivamente.
‫Quindi restituiremo A e poi qui stamperemo qualunque sia il valore di A, che è 10.
‫E perché?
‫Bene, perché iniziamo prima con l'ambito locale.
‫Ehi, questa confusione sai cos'è A?
‫No, non ce l'ho nel mio ambito locale, OK, il mio ambito locale genitore ce l'ha?
‫Quindi salirà di livello e dirà, ehi, i genitori funzionano al giorno d'oggi?
‫Sì, ho quasi 10.
‫Quindi stamperà che la terza regola o il terzo ordine è globale.
‫E globale è ciò che chiamiamo l'indentazione del nulla, è questo file, giusto, qualunque cosa abbia il file che è globale
‫nel nostro caso, se A uguale a dieci non esiste qui, non c'è locale, non c'è locale
‫genitore.
‫E clicco su Esegui.
‫Controlla l'ambito globale.
‫E infine, c'è un'altra regola, e questa è la numero quattro, ed è complicata, e
‫questo è ciò che chiamiamo costruito in Python.
‫O funzioni Python integrate.
‫Quindi Python viene fornito anche con funzioni predefinite come alcune di cui abbiamo parlato prima.
‫Questo un po', diciamo, dagli il cinque.
‫Verificherà o in realtà non gli diamo nulla, facciamone un po' qui.
‫Quando eseguo questo.
‫Ho costruito in funzione alcuni.
‫Ora, come faceva a sapere cosa fosse, quale fosse questa variabile alla fine della giornata?
‫Beh, è perché diceva, ehi, ne ho un po' all'interno di questo universo?
‫No, non lo faccio.
‫OK, ne ho alcuni nell'ambito del mio genitore?
‫No, non lo faccio.
‫OK, ho una somma in globale?
‫No, non c'è niente qui dentro.
‫E poi l'ultima cosa che controllerà è, ehi, è una sorta di funzione Python incorporata.
‫Sì.
‫Python in realtà ce ne dà alcuni in modo che tu possa usarlo in modo che non vada in onda.
‫E questa è la regola dell'ambito che l'interprete Python cade molto, molto bene.
‫Ci sono ancora alcune cose che dobbiamo imparare.
‫Allora ci vediamo nel prossimo video.