Laten we eens kijken naar de verschillende manieren waarop we deze modules kunnen importeren. Tot nu toe
hebben we alleen geleerd over importeren, maar soms kan het behoorlijk hectisch worden.
We kunnen bijvoorbeeld een ander pakket in een ander pakket hebben.
Als ik hier bijvoorbeeld een nieuwe map maak en zeg nieuw python-pakket, noemen we dit meer.
Winkelen klik, OK, je ziet dat ik een ander pakket heb gestart in een pakket dat zijn eigen in het bestand
heeft.
En laten we dit nu verplaatsen om de refractor te verplaatsen en we zullen het naar de map more shopping verplaatsen, zal nog
meer zeggen.
Boodschappen doen.
Ik klik, OK, je zult zien dat ik deze module hierheen heb verplaatst, dus ik heb een pakket in een pakket.
En de manier waarop we hier toegang toe zouden hebben, is door simpelweg meer punten te kopen.
Winkelstip, winkelwagentje.
En laten we dat overnemen en hier hetzelfde doen.
En nu als ik op uitvoeren klik.
Je zult zien dat het nog steeds werkt, maar dit wordt een beetje te gek.
Je kunt je voorstellen dat we steeds meer pakketten hebben dat we constant deze stip, deze stip, en
dit wordt een beetje.
Te lang en lelijk.
Dus hoe kunnen we dit verbeteren?
Welnu, een manier om dit op een schonere manier te doen, is door zoiets te doen in plaats van
import te zeggen, we zeggen hieruit.
Gedeeltelijk, ik wil de functie importeren, dus hier zeg ik, hey, van pakket, naam, pakket, naam, module,
import, welke functie ik ook wil.
In ons geval willen we de koopfunctie importeren.
Dus je ziet hier, ik kan dat gewoon doen en in mijn code.
Ik kan gewoon voorbij rennen alsof het deel uitmaakt van dit hoofdbestand.
Als ik dit uitvoer.
Je zult zien dat het nog steeds werkt.
Geweldig, dus dat is zeker schoner en we kunnen dit ook met hulpprogramma's doen.
Ik kan zeggen van het importeren van hulpprogramma's en daadwerkelijk de twee bestanden of de twee functies importeren.
Dat is dus vermenigvuldigen.
En als we een andere functie willen, kunnen we gewoon een komma toevoegen en delen zeggen.
Dus nu kunnen we Apple afdrukken.
Of door Apple evenals verdelen.
Laten we zeggen vijf bij twee.
En we kunnen ook vermenigvuldigen.
En zorg ervoor dat het hier een komma is, want het is een functie als deze, zodat als ik dit uitvoer, je dat
zult zien.
Daar gaan we.
Dit werkt ook.
Dit is dus een hele leuke manier om je jas op te ruimen.
Je kunt ook zoiets doen waarbij je zegt van pakket, naam, pakket, naam.
En importeer dan de hele module, dus laten we zeggen dat ik de winkelwagenmodule wil importeren, ik kan
zeggen importeren, dus pakketpuntpakket of je had gewoon één pakket kunnen doen en de eigenlijke
module-winkelwagen importeren.
Dus nu zou ik er toegang toe hebben zoals dit winkelwagentje.
En dit gaat ook lukken.
De reden dat je dit misschien wilt doen in plaats van wat we eerder hadden, is dat je soms botsingen met
een naam kunt krijgen.
Laat me je laten zien, laten we zeggen dat ik een afdruk had en dan gebruiken we hier de max-functie, wat ons een ingebouwde
functie geeft, we geven het een iterator en het vindt de max voor ons, zodat als ik dit uitvoer, jij zal
zien dat het maximum in deze lijst drie is.
Stel je voor dat we in onze nutsfunctie een laten we zeggen hebben in plaats van delen of we voegen een max toe
die gewoon zegt.
Retourneren en oeps.
Nou, als ik terug ga naar mijn belangrijkste DCPI.
En.
Krijg Max als mijn functie en ik klik op uitvoeren.
Nou, zie je, ik krijg daar een.
Ik snap dat Max nul positionele argumenten aanneemt, maar werd gegeven, maar er werd er één gegeven omdat Max nu niet
meent wat we dachten dat we bedoelden, in dit bestand hebben we Max tenminste geïmporteerd en wel.
Max heeft nu een heel andere functie, dus we kunnen bestaande functies overschrijven, dus door zoiets als
dit winkelwagentje te gebruiken, zorgen we ervoor dat we maar één geval hebben dat we misschien botsing hebben
genoemd.
Maar alle eigenschappen of alle methoden die winkelkunst heeft, zijn verbonden met een winkelwagentje.
Dus in plaats van meerdere functies te hebben die kunnen worden overschreven, heb ik maar één naamruimte.
En trouwens, dit is ook een van de redenen dat ik niet aanraad om zoiets te
doen, je kunt ster importeren.
En wat dit zegt is, hey, importeer alles vanuit de hulpprogramma-module.
En wanneer je dat doet.
Je zult zien dat we opnieuw lucht krijgen omdat het ook de max importeert, en omdat we niet eens weten wat er
nu wordt geïmporteerd, kunnen we het niet zien.
We moeten naar het bestand gaan om het te zien.
Als we zo'n lucht krijgen, zullen we zeggen, wat is er aan de hand?
Ik dacht, Max werkt en dat komt door deze lijn.
Het is dus altijd goed om expliciet te zijn en precies te zeggen wat u wilt importeren.
Maar laten we Max voorlopig verwijderen, maar zoals je kunt zien, kunnen modules op verschillende manieren belangrijk zijn.
Mijn aanbeveling is om altijd expliciet te zijn en precies te zeggen wat je wilt importeren.
En het formaat volgt meestal ofwel met behulp van de import-instructie gevolgd door de pakketmodule of importeer de module, of u kunt
de instructie from doen om het pakket, ondersteuningspakket en module te geven als u wilt, of u kunt een module doen
en dan zeggen importeren en de specifieke functie of de eigenlijke module zelf, vele manieren om dit
te doen, afhankelijk van uw behoefte.
De belangrijkste conclusie hier is dat modules en pakketten ons helpen goede engineeringpraktijken te hebben en grote projecten op een
georganiseerde manier te bouwen, terwijl al deze bestanden toch met elkaar kunnen praten.
Juist, dat was veel, laten we meer te weten komen in de volgende video.