Python-modules

Python Module is in wezen een Python-scriptbestand dat variabelen, functies en klassen kan bevatten. Python-modules helpen ons bij het organiseren van onze code en vervolgens verwijzen we ernaar in andere klassen of Python-scripts.

Python-modules

A file containing Python definitions and statements is called a python module. So naturally, the file name is the module name which is appended with the suffix .py. For better understanding let’s create a python module to explore it completely. First create a file named printNumbers.py with the following contents.

def printForward(n):

    # print 1 tot n
    for i in range(n):
        print(i+1)


def printBackwards(n):

    # print n tot 1
    for i in range(n):
        print(n-i)

Importeer nu in de Python-interpreter deze module met de volgende opdracht;

import printNumbers

Deze importopdracht zoekt naar het bestand printNumbers.py in de huidige directory en locaties in het PATH-variabele. Zodra het bestand is gevonden, is de code in het bestand beschikbaar voor ons gebruik. Om toegang te krijgen tot de functie van de module moeten we de modulenaam gebruiken zoals hieronder: Soms, als de module groot is, kunnen we de importnaam hernoemen zoals hieronder weergegeven:

Het importeren van een specifieke functie van een Python-module

Soms is het onnodig om alle functies van een Python-module te importeren. We hebben misschien slechts één of twee functies nodig. In dat geval kunnen we de volgende variant van de importverklaring gebruiken; Een ding om hier op te merken, als we printForward importeren, wordt het opgenomen in de huidige symbooltabel. Dus we hoeven de functie niet aan te roepen als – printNumbers.printForward() Een andere variant kan soms handig zijn. Hier gebruikten we hernoeming zoals we eerder deden om het gebruik van de functie te vergemakkelijken. Ook als we alle namen willen importeren die een module definieert, is er een andere variant voor het importeren. Dit importeert alle namen behalve diegene die beginnen met een underscore (_). Maar dit is geen ideale praktijk, omdat dit een onbekende reeks namen in de interpreter introduceert.

Veelgestelde vragen over Python-modules

Laten we eens kijken naar enkele veelgestelde vragen over Python-modules.

Wat zijn de ingebouwde modules in Python?

Er zijn veel ingebouwde modules in Python. Enkele van de belangrijke zijn – collections, datetime, logging, math, numpy, os, pip, sys en time. U kunt het help('modules')-commando uitvoeren in de Python-shell om de lijst met beschikbare modules te krijgen.

Wat is het verschil tussen module en pakket in Python?

Python-pakket is een verzameling van Python-modules. Python-module is een enkel Python-bestand terwijl Python-pakket een map is met meerdere Python-scripts en __init__.py-bestand waarin de pakketdetails worden gedefinieerd.

Waar kan ik de lijst met Python-modules vinden?

Je kunt de lijst met Python-modules vinden op hun officiële pagina van Python Module Index. Als je echter op zoek bent naar de Python-modules die beschikbaar zijn voor jou, kun je het commando help('modules') uitvoeren in de Python-shell om de lijst met beschikbare modules te krijgen.

Python Modules List

Bekijk deze GitHub Repository voor een lijst van de belangrijkste Python-modules en leer ze kennen via hun specifieke tutorials en voorbeeldprogramma’s.

Hoe kan ik een module importeren uit een andere directory?

Wanneer we proberen een Python-module te importeren, wordt er gezocht in de huidige directory en de locatie van de PATH-variabele. Dus als je Python-bestand niet in deze locaties aanwezig is, krijg je een ModuleNotFoundError. De oplossing is om de sys-module te importeren en vervolgens de vereiste directory toe te voegen aan de padvariabele ervan. Onderstaande code toont de fout wanneer we proberen te importeren uit een andere directory en hoe ik dit oplos door de directory toe te voegen aan de padvariabele.

$ python3.7
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import test123
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'test123'
>>> import sys
>>> sys.path.append('/Users/pankaj/temp')
>>> import test123
>>> test123.x
10
>>> test123.foo()
foo
>>> 

Python Modules Lijst

Er zijn duizenden Python-modules en er worden er elke dag meer ontwikkeld. We hebben handleidingen geschreven voor veel populaire Python-modules. Volg gewoon de links in de onderstaande tabel om deze modules te leren.

Referenties:

Source:
https://www.digitalocean.com/community/tutorials/python-modules