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 quelle 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.