Python-pakketten en -modules

  • Vovich Masterovich
  • 0
  • 2826
  • 96
>

Invoering

Wanneer je wat extra functionaliteit in Python nodig hebt, ga je naar het importeren trefwoord om extra's uit Python-modules op te halen. Je hebt gewone gebruikt zoals de wiskunde module vaak.
Nu leert u hoe u uw eigen Python-modules en -pakketten kunt maken om uw code in compartimenten te verdelen. Modules zijn een soort klassen in die zin dat ze uw code modulair maken. Terwijl klassen code modulair maken binnen een programma en dienen als blauwdrukken voor objecten, maken modules al je code modulair over alle programma's heen en zijn het hulpprogramma's die net zo kunnen worden gebruikt als ze zijn..
Door het gebruik van modules kunt u uw eigen gereedschapskist maken met allerlei onderdelen en stukken die u vaak gebruikt. Modules kunnen alles bevatten, van variabelen en constanten tot functies en zelfs klassen. Vanwege deze veelzijdigheid kunt u aan het begin van elk project alles hebben wat u nodig heeft.

Een module schrijven

Het schrijven van een module is helemaal niet moeilijk. Modules zijn eigenlijk gewoon Python-bestanden. Er is niets speciaals aan hen. Ze zijn gewoon anders gestructureerd omdat ze meer als toolkit of opslag dienen dan als een vloeiend en functionerend programma.
Voordat u begint met het schrijven van een module, is het een goed idee om een ​​directory in te stellen om in te werken. Tenzij de module is geïnstalleerd in uw systeem Python-installatie, is het pad van de module belangrijk.
Maak twee bestanden in uw directory, mathstuff.py en test.py.
Doe open mathstuff.py en leg de volgende verre van perfecte functies erin.
 importeer wiskunde def pythag (a, b): retourneer math.sqrt (a + b) def kwadratisch (a, b, c): x1 = (-1 * b + math.sqrt (b ** 2 - 4 * a * c)) / (2 * a) x2 = (-1 * b - math.sqrt (b ** 2 - 4 * a * c)) / (2 * a) retourneren [x1, x2] 
Merk op dat er een importeren ook hier. U kunt andere modules in een module importeren en die instructies gebruiken als een gemakkelijke manier om met afhankelijkheden om te gaan.
Dat is eigenlijk alles wat je nodig hebt om een ​​Python-module te schrijven. Deze module is heel eenvoudig, maar je kunt duidelijk zien wat hij doet. Als je een programma gaat schrijven dat veel functies nodig heeft om specifieke vergelijkingen op te lossen, zou je een module kunnen maken met de functies die je vaak gebruikt.

Uw module importeren

Ga naar je test.py. Open het en voer een code in om gebruik te maken van de module die u zojuist hebt gemaakt.
 uit mathstuff import kwadratisch x_vals = kwadratisch (10, 18, 6) voor x in x_vals: print (x) 
Net als alle andere modules die u tot nu toe hebt gebruikt, kunt u importeren om het naar binnen te trekken. U kunt ook gebruiken van om alleen de onderdelen te selecteren die u nodig heeft.
Van daaruit kunt u de functies die u hebt geïmporteerd gewoon oproepen alsof ze in hetzelfde bestand zijn geschreven als de rest van uw programma.
In dit voorbeeld werden functies gebruikt omdat ze het meest worden gebruikt, maar je kunt net zo gemakkelijk met klassen of variabelen werken, en het zal precies hetzelfde zijn.

Organiseren met pakketten

Bij grotere projecten is de kans zeer groot dat een enkel modulebestand niet goed past. Een bestand kan snel vollopen met tal van functies en een ballon tot een onhandelbare grootte. Dit is waar pakketten binnenkomen.
Python behandelt pakketten net zoals het met modules zou doen, maar met pakketten kunt u meer georganiseerd zijn in uw programmering en in meer geavanceerde gevallen uw Python-code distribueren naar repositories.
Pakketten kunnen gewoon opslagstructuren zijn waarin u uw functies, klassen en variabelen in verschillende bestanden categoriseert en ze sorteert op hun gebruik of functionaliteit. Het kunnen ook complete onderdelen zijn die vooraf zijn gebouwd en klaar voor gebruik zijn. Stel je voor dat je een freelance ontwikkelaar bent en dat je klanten altijd om een ​​vergelijkbare functionaliteit vragen om e-mails vanuit hun applicaties te verzenden. U kunt een pakket maken dat al die e-mailfunctionaliteit bevat en dit op elk project aansluiten. Het bespaart u een hoop tijd en het kan uw klanten geld besparen. In dit geval is het gebruik van pakketten een algehele overwinning.
Een Python-pakket is in de meest elementaire zin gewoon een map met daarin een Python-bestand met de naam, __init__.py. Dat bestand hoeft niets te bevatten. Het laat Python gewoon weten dat hij die map als een pakket moet behandelen, dat gewoon als een grote module werkt.
Probeer een pakket te maken met de module die u al heeft gemaakt. Maak een nieuwe map waar u zich bevindt, maak het __init__.py erin, en verplaats je mathstuff.py ook in.
 $ mkdir mathstuff $ touch mathstuff / __ init__.py $ mv mathstuff.py mathstuff / 
Als je je test.py nogmaals, het zal nog steeds werken. Bestanden in pakketten met dezelfde naam kunnen worden geïmporteerd met alleen hun naam. Wijzig de naam van het mathstuff.py het dossier. Het zal niet meer werken. Om andere bestanden in een pakket te gebruiken, moet u ze importeren met de puntnotatie.
uit package.file importfunctie
Probeer uw importverklaring opnieuw te configureren en probeer het opnieuw. Het zal net zo goed werken als voorheen.

Gedachten sluiten

Het gebruik van modules en pakketten kan u helpen uw code te ordenen en alles modulair herbruikbaar te houden. Ze kunnen ook een lange weg banen om uw code overzichtelijker te maken en de leesbaarheid te vergroten.

Opdrachten

  1. Maak een nieuwe module met een aantal functies erin.
  2. Maak een bestand om de functies van uw module te importeren en uit te voeren en doe dit.
  3. Converteer uw module naar een pakket. Pas uw invoer dienovereenkomstig aan.



Niemand heeft nog op dit artikel gereageerd.

Een verzameling nuttige informatie over het Linux-besturingssysteem en nieuwe technologieën
Nieuwe artikelen, praktische tips, gedetailleerde recensies en handleidingen. Voel je thuis in de wereld van het Linux-besturingssysteem