En av de bästa funktionerna i Python, som vi såg i leveranser tidigare Python-programmeringskurs med Linux, är att Koden kan återanvändas i andra delar av applikationen eller i andra applikationer.
I det här inlägget kommer vi att se Hur man använder program i andra program utan att behöva klistra in eller skriva in koden i dem.Detta är användbart eftersom Python har ett antal bibliotek för specifika uppgifter som befriar oss från arbetet med att "uppfinna hjulet på nytt".
Python-programmeringskurs med Linux
Fram tills nu har vi definierat en funktion och anropat den när vi behövde den. Nu ska vi introducera konceptet med en modul. En modul är en fil där funktioner och klasser definieras och variabler deklareras. Eftersom moduler är oberoende filer blir underhåll och uppdatering enklare att använda dem för att bygga stora projekt.
Python innehåller ett antal moduler för en mängd olika uppgifter, och vi kan också skapa våra egna.
Fördelarna med att använda moduler är:
- Återanvändning: Vi kan skriva ett program som utför en specifik uppgift (till exempel beräkna en skatt) och anropa det för att användas i så många program som vi behöver den funktionen utan att behöva skriva om koden.
- Order: Modulerna hjälper till att logiskt dela upp projektets delar, vilket gör det möjligt för vem som helst med minimala kunskaper i Python att förstå vad varje del av programmet gör.
- Underhåll: Ju kortare koden är, desto lättare är det att hitta fel och göra ändringar.
- skalbarhet: I stora projekt gör modulär konstruktion det enklare att dela upp och återförena arbetet.
- Bokaffärer: Python förser programmerare med ett brett utbud av moduler, från spelskapande till stora projekt inom artificiell intelligens.
För att korrekt bygga ett Python-projekt i moduler behöver du dela upp och spara de olika delarna i filer med filändelsen .py. Helst bör du följa dessa kriterier:
- identifiera delar av koden som utför liknande funktioner: Till exempel kan vi gruppera datainsamling i en modul, bearbetning i en annan och utdata och lagring i en annan.
- assign Beskrivande namn: Tanken är att vem som helst med en snabb blick kan se vad varje modul gör. Om det är en datavalideringsmodul är det mer användbart att kalla den validation.py än 1234.py.
Vi ska skapa en modul med namnet mostrar_distro.py. Det här är modulen:
Den här modulen skapar en funktion för att skriva ut namnet på en distribution som kommer att anges i programmet som importerar funktionen tillsammans med texten "Den bästa distributionen är... Tvivla inte på det".
Det här är applikationen som anropar modulen.
Det här programmet anropar modulen vi tidigare sparade, anropar distrofunktionen och kör den med parametern "Ubuntu". Om vi ändrar något i modulen, till exempel texten som visas bredvid distributionsnamnet, kommer det att återspeglas i programmet.
Importinstruktionen
Som vi såg i koden, för att importera en modul gör vi
import nombre_modulo
Tillägget är inte tillagtn.py
Vi behöver dock inte importera hela modulen. Vi kan importera specifika delar:
from nombre_modulo import elemento1, elemento2
För att spara skrivning eller undvika namnkonflikter är det möjligt att tilldela ett alias till den importerade modulen.
import nombre_moulo as nm
Använda nm i alla referenser till modulen i kodnamnet.
Om vi inte vill referera till modulen varje gång vi anropar ett av dess element kan vi göra följande:
from nombre_modulo import *
Detta gör att vi kan anropa varje element i modulen från koden som om vi hade definierat det i själva koden. Detta kan dock skapa konflikter med befintliga element.
Modulernas placering
I kursens första artikel förklarade vi konceptet med virtuella miljöer. Denna metod, som är obligatorisk i Ubuntu och andra Linux-distributioner och valfri i Windows, skapar en filstruktur som inkluderar platser för att lagra moduler. Generellt sett kan en modul lagras på tre platser:
- Katalogen där huvudprogrammet som anropar modulen finns.
- Om du installerade det med en pakethanterare finns det i lib-mappen i den virtuella miljön.
- I användardefinierade kataloger anges platsen i importkommandot.
Tips för de flesta:
- Standardmoduler: De ingår i Python-installationen och utför ett brett spektrum av vanliga programmeringsuppgifter, som att generera slumptal. De kräver ingen ytterligare konfiguration och utvecklas av samma utvecklare som språket.
- Användarutvecklade moduler: De svarar mot ett projekts specifika behov, och om de görs tillgängliga för andra användare i forum eller nedladdningssajter finns det ingen garanti för officiellt stöd eller uppdateringar.
- Underhålls av tredje part: De installeras med specifika pakethanterare och uppfyller vanliga behov hos många användare som inte täcks av standardmoduler, såsom att skicka meddelanden via WhatsApp. Även om de i många fall underhålls av företag eller ansvarsfulla användare med fullständig och aktuell dokumentation, har skadliga paket också hittats.
Några exempel på standardmoduler är:
- Matematik: Den ger stöd för matematiska funktioner som rotberäkningar, trigonometri, logaritmer och konstanter.
- Slumpmässig: Den används för att generera slumptal och slumpmässigt välja element.
- Datum och tid: Kalenderhantering, arbete med datum och tider och beräkning av tidsskillnader.
- OS: Den hanterar programmets interaktion med operativsystemet, inklusive att arbeta med filer, kataloger och miljövariabler.
PIP-pakethanteraren
Liksom så många namn i världen av fri programvara är pip den rekursiva akronymen på engelska för pip package installer. Det är det officiella verktyget för att installera moduler skapade av tredje part. Vi kan se listan över tillgängliga paket här.
De grundläggande kommandona är:
Installera modul
pip3 install nombre_modulo
Uppdateringsmodul
pip3 install --upgrade nombre_modulo.
Avinstallera modulen
pip3 uninstall nombre_modulo
I nästa del fortsätter vi med kursen.