Cursus Python-programmeren met behulp van Linux. Deel dertien.

Python-programmeercourse met behulp van Linux


Een van de beste eigenschappen van Python, zoals we zagen in leveringen Een eerdere Python-programmeercourse met behulp van Linux is dat De code kan worden hergebruikt in andere delen van de applicatie of in andere applicaties.

In dit bericht zullen we zien Hoe gebruik je programma's binnen andere programma's zonder de code erin te hoeven plakken of typen?Dit is handig omdat Python een aantal bibliotheken heeft voor specifieke taken, waardoor we niet steeds het wiel opnieuw hoeven uit te vinden.

Python-programmeercourse met behulp van Linux

Tot nu toe hebben we een functie gedefinieerd en deze aangeroepen wanneer dat nodig was. Nu gaan we het concept van een module introduceren. Een module is een bestand waarin functies en klassen worden gedefinieerd en variabelen worden gedeclareerd. Omdat modules onafhankelijke bestanden zijn, maakt het gebruik ervan bij het bouwen van grote projecten het onderhoud en de updates eenvoudiger.

Python bevat een aantal modules voor een breed scala aan taken, en we kunnen ook onze eigen modules maken.

De voordelen van het gebruik van modules zijn:

  • Hergebruik: We kunnen een programma één keer schrijven dat een specifieke taak uitvoert (bijvoorbeeld het berekenen van een belasting) en het vervolgens in zoveel programma's aanroepen als we die functie nodig hebben, zonder de code te hoeven herschrijven.
  • Orde: De modules helpen om de onderdelen van het project logisch te verdelen, waardoor iedereen met minimale Python-kennis kan begrijpen wat elk onderdeel van het programma doet.
  • onderhoud: Hoe korter de code, hoe gemakkelijker het is om fouten te vinden en aanpassingen te maken.
  • schaalbaarheid: Bij grote projecten maakt modulaire bouw het gemakkelijker om het werk op te splitsen en weer samen te voegen.
  • Boekhandels: Python biedt programmeurs een breed scala aan modules, van het maken van games tot grote projecten op het gebied van kunstmatige intelligentie.

Om een ​​Python-project correct in modules op te bouwen, moet je de verschillende onderdelen verdelen en opslaan in bestanden met de extensie .py. Idealiter volg je daarbij de volgende criteria:

  • identificeren Delen van de code die vergelijkbare functies uitvoeren: We kunnen bijvoorbeeld gegevensverzameling in één module groeperen, verwerking in een andere en uitvoer en opslag in weer een andere.
  • Toewijzen Beschrijvende namen: Het idee is dat iedereen in één oogopslag kan zien wat elke module doet. Als het een module voor gegevensvalidatie is, is het handiger om deze validation.py te noemen dan 1234.py.

We gaan een module maken met de naam mostrar_distro.py. Dit is de module:

Voorbeeld van een module in Python

Modules zijn herbruikbare programma's die extern worden opgeslagen.

Deze module maakt een functie aan die de naam van een distributie afdrukt die wordt gespecificeerd in het programma dat de functie importeert, samen met de tekst "De beste distributie is... Twijfel er niet aan".

Dit is de applicatie die de module aanroept.

Programma dat een module aanroept in Python 3

Dit programma roept de module aan die we eerder hebben gemaakt en opgeslagen.

Dit programma roept de module aan die we eerder hebben opgeslagen, roept de distro-functie aan en voert deze uit met de parameter "Ubuntu". Als we iets in de module wijzigen, zoals de tekst die naast de distributienaam wordt weergegeven, wordt dit in het programma doorgevoerd.

De importinstructie

Zoals we in de code zagen, importeren we een module op de volgende manier:

import nombre_modulo

De extensie is niet toegevoegd.n.py

We hoeven echter niet de hele module te importeren. We kunnen specifieke onderdelen importeren:

from nombre_modulo import elemento1, elemento2

Om typwerk te besparen of naamconflicten te voorkomen, is het mogelijk om een ​​alias toe te wijzen aan de geïmporteerde module.

import nombre_moulo as nm

Gebruikmakend van nm in elke verwijzing naar de module in de codenaam.

Als we niet elke keer dat we een van de elementen van de module aanroepen, ernaar willen verwijzen, kunnen we het volgende doen:

from nombre_modulo import *

Hierdoor kunnen we elk element van de module vanuit de code aanroepen alsof we het in de code zelf hadden gedefinieerd. Dit kan echter conflicten veroorzaken met bestaande elementen.

Locatie van de modules

In het eerste artikel van de cursus hebben we het concept van virtuele omgevingen uitgelegd. Deze werkwijze, die verplicht is in Ubuntu en andere Linux-distributies en optioneel in Windows, creëert een bestandsstructuur met locaties voor het opslaan van modules. Over het algemeen kan een module op drie locaties worden opgeslagen:

  • De map waarin het hoofdprogramma dat de module aanroept zich bevindt.
  • Als je het via een pakketbeheerder hebt geïnstalleerd, bevindt het zich in de map 'lib' van de virtuele omgeving.
  • In door de gebruiker gedefinieerde mappen wordt de locatie gespecificeerd in het importcommando.

Soorten modules:

  • Standaardmodules: Ze worden meegeleverd met de Python-installatie en zijn geschikt voor een breed scala aan veelvoorkomende programmeertaken, zoals het genereren van willekeurige getallen. Ze vereisen geen extra configuratie en zijn ontwikkeld door dezelfde ontwikkelaars als de taal zelf.
  • Door gebruikers ontwikkelde modules: Ze spelen in op de specifieke behoeften van een project, en als ze beschikbaar worden gesteld aan andere gebruikers op forums of downloadsites, is er geen garantie voor officiële ondersteuning of updates.
  • Onderhouden door derden: Ze worden geïnstalleerd met behulp van specifieke pakketbeheerders en voorzien in veelvoorkomende behoeften van gebruikers die niet door standaardmodules worden gedekt, zoals het versturen van berichten via WhatsApp. Hoewel ze in veel gevallen worden onderhouden door bedrijven of verantwoordelijke gebruikers met volledige en actuele documentatie, zijn er ook kwaadaardige pakketten gevonden.

Enkele voorbeelden van standaardmodules zijn:

  • Wiskunde: Het biedt ondersteuning voor wiskundige functies zoals wortelberekeningen, trigonometrie, logaritmen en constanten.
  • Willekeurig: Het wordt gebruikt voor het genereren van willekeurige getallen en het willekeurig selecteren van elementen.
  • Datum en tijd: Agendabeheer, werken met datums en tijden, en het berekenen van tijdsverschillen.
  • O: Het betreft de interactie van de applicatie met het besturingssysteem, inclusief het werken met bestanden, mappen en omgevingsvariabelen.

De pip-pakketbeheerder

Net als zoveel namen in de wereld van vrije software, is pip het recursieve acroniem in het Engels voor pip package installer. Dit is de officiële tool voor het installeren van modules die door derden zijn ontwikkeld. We kunnen de lijst met beschikbare pakketten bekijken. here.

De basiscommando's zijn:

Installatiemodule

pip3 install nombre_modulo

Update-module

pip3 install --upgrade nombre_modulo.

Module verwijderen

pip3 uninstall nombre_modulo

In het volgende deel gaan we verder met de cursus.