Ben tornato.
Per finalizzare la nostra comprensione dei moduli, dobbiamo parlare di un concetto importante, che è
questa idea di main.
O nello specifico underscore, underscore, main.
Perché quando inizi a sviluppare la tua carriera, inizierai a vedere un sacco di codice come questo.
Ora, questa è una delle linee più comuni che vedrai quando lavorerai con Python.
E in questo video, voglio spiegare cosa fa.
Perché è uno degli argomenti più confusi, soprattutto per i principianti.
Quindi, per ora, commenterò e farò alcune cose.
Abbiamo il nostro file DCPI principale qui.
E prima voglio fare alcune cose, aprirò il nostro carrello della spesa, che è proprio qui.
E qui in alto, lo stamperò, perché in questo momento il nostro file non sta facendo nulla.
Dirò stampa, sottolineatura, sottolineatura, nome così.
E farò lo stesso per l'utility dogpile.
Quindi in alto, utility DCPI.
Ora, se eseguo main qui, facciamo clic su esegui qui.
Faccio stampare queste due cose.
Ora, perché è così?
Bene, quando eseguo un file python.
Di solito eseguiamo solo un file, giusto, il file principale su cui stiamo lavorando nel nostro caso, il nostro
file principale si chiama Main DCPI.
Quindi, quando faccio clic su Esegui, l'interprete passa riga per riga qui.
La prima cosa che fa è importare il modulo di utilità.
E potenzia questi due file.
Quindi quello che farà è andare al file di utilità ed eseguire questo e automaticamente ogni file che eseguiamo o
ogni modulo.
Viene assegnato un nome quando il nostro caso è il nome dell'utilità del modello, quindi quando importi qualcosa
in Python, trova il modulo, esegue un codice.
Quindi aggiunge questo codice alla memoria perché dovremo usare moltiplicare, dividere emacs e poi passare alla riga
successiva.
Nel nostro caso, è questo in cui importiamo nuovamente dal carrello.
Quindi dirà, ehi, il nome di questo è shopping dot, più shopping dot carrello della spesa, perché questo è il
nome del modulo.
E infine, passerà qui perché a questo punto questi file sono stati eseguiti riga per riga
e ora sono in memoria.
Ora, l'interprete ha accesso a dividere, moltiplicare e tutte queste funzioni che abbiamo importato.
Ora, ecco la mia domanda, cosa succede se faccio qui o alla fine, stampa il carattere di sottolineatura, il nome di sottolineatura su
questo file principale se corro qui?
Vedete che ottengo underscore, underscore, principale.
È quello che ti aspettavi?
E se cambiassi il nome di questo file, diciamo refactor?
E dire rinomina.
Sì, va bene, vogliamo rinominarlo e lo rinomineremo, diciamo, Test DCPI.
Quindi ora questo si chiama test.
Quale pensi che sia il nome di sottolineatura di questo se corro qui?
Ricevo ancora underscore, underscore, main.
Quindi forse questo sta iniziando ad avere un senso ora quando vedi il codice, questo se underscore, underscore
name, va a underscore, underscore, underscore principale.
Quindi questi sono Dunda.
Allora fai qualcosa.
E questo, il nome principale, è dato specificamente al file che eseguiamo perché ricorda quando ci siamo imbattuti in un problema quando
gioco o quando faccio nel mio terminale Python tre e poi dico test Stoppie, eseguo quel singolo file e
quello un singolo file importa diversi moduli e li esegue.
Quel file che eseguiamo ottiene questo valore predefinito.
Underscore, underscore maggio.
Quindi il motivo per cui potresti vedere righe come questa in Python è che a volte vogliamo
assicurarci di eseguire un modulo solo se questo è il modulo o il modulo principale.
Quindi posso dire, qui, stampa, per favore esegui questo.
E per ora rimuoviamo questa stampa e facciamo clic su Esegui.
Vedi che ottengo per favore eseguilo, ma se copio questo codice e diciamo che lo metto in utility.
In questo modo e clicco, esegui, lo vedi, esegui, questo non appare nell'utilità solo alla
fine quando eseguiamo questo test.
Perché perché?
Bene, il nome di questo file non sono io, il nome, ricorda, è utility.
Quindi questo è un buon modo per noi di eseguire solo il codice del file principale.
Quindi questa è una struttura comune man mano che i progetti diventano sempre più grandi, forse abbiamo codice che non vogliamo eseguire
a meno che non sia il file principale.
Nel nostro caso, diciamo che non vogliamo eseguire nessuno di questi.
A meno che questo non sia il file principale che viene chiamato Se eseguo questo ora lo vedi e ricevo un errore, dice
che la riga uno nel modulo non può importare il nome moltiplicato dall'utilità perché, beh, non siamo in grado di importarlo perché non l'abbiamo fatto
t eseguire questo pezzo di codice.
Quindi ripristiniamolo.
Torna qui e quello che possiamo fare ora è concludere l'intera faccenda.
In questo modo, in modo da assicurarci che test venga eseguito solo se correttamente, che solo se questo è quello in esecuzione, non
dovrebbe essere importato, dovrebbe essere solo il file principale che eseguiamo.
Ora, ricorda quando avevamo una classe, diciamo che avevamo un file principale e abbiamo creato una classe, diciamo
studente.
E questo studente, diciamo, non ha niente, ma quando lo facciamo tipo di studente.
E noi stampiamo qui.
E clicco su Esegui.
OK, istanziamo gli studenti, quindi diciamo che lo studente uno è uguale allo studente.
E prendiamo solo il tipo di studente, se clicco, corri.
Ricordi come abbiamo questo carattere di sottolineatura, di sottolineatura, di studente con punto medio?
Quello che sta dicendo è che questa classe è stata creata.
Nel file principale che abbiamo eseguito, se, ad esempio, copio questo, lo aggiungo all'utilità in questo modo.
E ora nel mio file principale.
Importo utilità.
E diciamo punto di utilità.
Passo uno e fallo.
E poi stampa.
Cosa accadrà allora?
Bene, otteniamo lo studente punto di utilità della classe.
Quindi, ogni volta che vedevamo quel Maine, tutto ciò che diceva era, ehi, questa era una classe creata nel file
Maine.
Di nuovo, questa è una di quelle cose che vedrai molto.
Ma alla fine, tutto ciò che significa è che voglio assicurarmi che se questo è il file che
viene eseguito, perché un file può essere eseguito o può essere importato, se questo è il file che viene eseguito
è il file principale, quindi fai qualcosa.
Quindi è un buon modo per verificare come vengono utilizzati i nostri moduli, importati o eseguiti.
Speriamo che questo abbia senso nel prossimo video, parleremo di qualcosa di eccitante chiamato modulo
integrato.
Ci vediamo su quello.
Ciao ciao.