‫Impariamo i diversi modi in cui possiamo effettivamente importare questi moduli, fino ad ora abbiamo
‫imparato solo sull'importazione, ma a volte le cose possono diventare piuttosto frenetiche.
‫Ad esempio, possiamo effettivamente avere un altro pacchetto all'interno di un altro pacchetto.
‫Se, ad esempio, creo una nuova cartella qui e dico nuovo pacchetto python, lo chiameremo di più.
‫Fare clic su Shopping, OK, vedi che ho avviato un altro pacchetto all'interno di un pacchetto che ha il proprio
‫file.
‫E spostiamo questo ora per fare spostare il rifrattore e lo sposteremo all'interno della cartella più acquisti, diciamo
‫di più.
‫Shopping.
‫Faccio clic su OK, vedrai che ho spostato questo modulo qui, quindi ho un pacchetto all'interno di un pacchetto.
‫E il modo in cui potremmo accedere a questo è dire semplicemente fare shopping in più.
‫Punto della spesa, carrello della spesa.
‫E copiamolo e facciamo lo stesso qui.
‫E ora quando clicco su Esegui.
‫Vedrai che funziona ancora, ma sta diventando un po' troppo folle.
‫Puoi immaginare che abbiamo sempre più pacchetti che dobbiamo costantemente fare questo punto, questo punto, e questo
‫sta diventando un po'.
‫Troppo lungo e brutto.
‫Quindi come possiamo migliorare questo?
‫Bene, un modo per farlo in modo più pulito è fare qualcosa del genere invece di
‫dire import, diciamo da questo.
‫Parte, voglio importare la funzione, quindi qui sto dicendo, ehi, da pacchetto, nome, pacchetto, nome,
‫modulo, importazione, qualunque funzione io voglia.
‫Nel nostro caso, vogliamo importare la funzione di acquisto.
‫Quindi vedi qui, posso farlo e nel mio codice.
‫Posso semplicemente eseguire come se fosse parte di questo file principale.
‫Se eseguo questo.
‫Vedrai che funziona ancora.
‫Fantastico, quindi è decisamente più pulito e possiamo farlo anche con l'utilità.
‫Posso dire dall'importazione di utilità e importare effettivamente i due file o le due funzioni.
‫Quindi questo è moltiplicare.
‫E se vogliamo un'altra funzione, possiamo semplicemente aggiungere una virgola e dire dividi.
‫Quindi ora possiamo stampare Apple.
‫O da Apple così come dividere.
‫Diciamo cinque per due.
‫E possiamo anche moltiplicare.
‫E assicurati che sia una virgola qui, perché è una funzione come questa, così se lo eseguo, lo
‫vedrai.
‫Ci siamo.
‫Anche questo funziona.
‫Quindi questo è davvero un bel modo per ripulire il cappotto.
‫Puoi anche fare qualcosa del genere in cui dici da pacchetto, nome, pacchetto, nome.
‫E poi importa l'intero modulo, quindi diciamo che voglio importare il modulo del carrello degli acquisti, posso dire importa, quindi
‫pacchetto pacchetto dot o avresti potuto aver appena fatto un pacchetto e importare il carrello degli acquisti
‫del modulo effettivo.
‫Quindi ora vorrei accedervi come questo carrello della spesa.
‫E anche questo funzionerà.
‫Ora, il motivo per cui potresti voler fare questo invece di quello che avevamo prima, è che a volte puoi
‫ottenere collisioni con nome.
‫Lascia che ti mostri, diciamo che ho avuto una stampa e poi qui usiamo la funzione max, che ci dà che è una
‫funzione incorporata, gli diamo un iteratore e trova il max per noi in modo che se lo eseguo, tu Vedrai
‫che il massimo in questa lista è tre.
‫Bene, immagina nella nostra funzione di utilità, diciamo, invece di dividere, o aggiungiamo un massimo che
‫dice semplicemente.
‫Restituzioni e ops.
‫Bene, se torno al mio DCPI principale.
‫E.
‫Ottieni Max come mia funzione e clicco su Esegui.
‫Beh, vedi, ci arrivo.
‫Ho capito che Max accetta zero argomenti posizionali, ma è stato dato, ma ne è stato dato uno perché ora Max
‫non intende quello che pensavamo di voler dire, almeno in questo file abbiamo importato Max e bene.
‫Max ha una funzione completamente diversa ora, quindi possiamo effettivamente sovrascrivere le funzioni esistenti, quindi utilizzando
‫qualcosa come questo carrello della spesa, ci assicuriamo di avere solo un caso che potremmo aver chiamato
‫collisione.
‫Ma tutte le proprietà o tutti i metodi che ha lo shopping art sono collegati a un carrello della spesa.
‫Quindi, invece di avere più funzioni che potrebbero essere sovrascritte, ho solo uno spazio dei nomi.
‫E a proposito, questo è anche uno dei motivi per cui non consiglio di fare qualcosa
‫del genere, puoi effettivamente importare stelle.
‫E quello che dice è, ehi, dal modulo di utilità, importa tutto.
‫E quando lo fai.
‫Vedrai che ancora una volta otteniamo un'aria perché importa anche il massimo e poiché non sappiamo nemmeno cosa viene
‫importato in questo momento, non possiamo vederlo.
‫Dobbiamo andare al file per vederlo.
‫Quando avremo un'aria come questa, saremo come, cosa sta succedendo?
‫Ho pensato, Max sta lavorando ed è a causa di questa linea.
‫Quindi è sempre bene essere espliciti e dire esattamente cosa si desidera importare.
‫Ma rimuoviamo Max per ora, ma come puoi vedere, i moduli possono essere importanti in diversi modi.
‫La mia raccomandazione è di essere sempre espliciti e dire esattamente cosa si desidera importare.
‫E il formato di solito segue usando l'istruzione import seguita dal modulo del pacchetto o importa il modulo, oppure puoi
‫fare l'istruzione from per dargli pacchetto, pacchetto di supporto e modulo se vuoi, oppure puoi fare un modulo
‫e poi dire import e la funzione specifica o il modulo stesso, molti modi per
‫farlo a seconda delle tue esigenze.
‫Il punto chiave qui è che i moduli e i pacchetti ci aiutano ad avere buone pratiche ingegneristiche e a costruire
‫grandi progetti in modo organizzato, pur continuando a far dialogare tutti questi file tra loro.
‫Bene, è stato molto, impariamo di più nel prossimo video.