Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Python-Module

Python-Module

In diesem Artikel erfahren Sie, wie Sie benutzerdefinierte Module in Python erstellen und importieren. Außerdem finden Sie verschiedene Techniken zum Importieren und Verwenden von benutzerdefinierten und integrierten Modulen in Python.

Video:Python-Module

Was sind Module in Python?

Module beziehen sich auf eine Datei, die Python-Anweisungen und -Definitionen enthält.

Eine Datei mit Python-Code, zum Beispiel:example.py , wird als Modul bezeichnet und sein Modulname wäre example .

Wir verwenden Module, um große Programme in kleine überschaubare und organisierte Dateien zu zerlegen. Darüber hinaus bieten Module die Wiederverwendbarkeit von Code.

Wir können unsere am häufigsten verwendeten Funktionen in einem Modul definieren und importieren, anstatt ihre Definitionen in verschiedene Programme zu kopieren.

Lassen Sie uns ein Modul erstellen. Geben Sie Folgendes ein und speichern Sie es als example.py .

# Python Module example

def add(a, b):
   """This program adds two
   numbers and return the result"""

   result = a + b
   return result

Hier haben wir eine Funktion add() definiert innerhalb eines Moduls namens example . Die Funktion übernimmt zwei Zahlen und gibt ihre Summe zurück.


Wie importiere ich Module in Python?

Wir können die Definitionen innerhalb eines Moduls in ein anderes Modul oder den interaktiven Interpreter in Python importieren.

Wir verwenden den import Schlüsselwort dazu. Um unser zuvor definiertes Modul example zu importieren , geben wir Folgendes in die Python-Eingabeaufforderung ein.

>>> import example

Dadurch werden die Namen der in example definierten Funktionen nicht importiert direkt in der aktuellen Symboltabelle. Es importiert nur den Modulnamen example dort.

Über den Modulnamen können wir mit dem Punkt . auf die Funktion zugreifen Operator. Zum Beispiel:

>>> example.add(4,5.5)
9.5

Python hat Tonnen von Standardmodulen. Sie können sich die vollständige Liste der Python-Standardmodule und ihrer Anwendungsfälle ansehen. Diese Dateien befinden sich im Lib-Verzeichnis an dem Ort, an dem Sie Python installiert haben.

Standardmodule können genauso importiert werden wie unsere benutzerdefinierten Module.

Es gibt verschiedene Möglichkeiten, Module zu importieren. Sie sind unten aufgelistet..


Python-Importanweisung

Wir können ein Modul mit dem import importieren -Anweisung und greifen Sie mit dem Punktoperator wie oben beschrieben auf die darin enthaltenen Definitionen zu. Hier ist ein Beispiel.

# import statement example
# to import standard module math

import math
print("The value of pi is", math.pi)

Wenn Sie das Programm ausführen, lautet die Ausgabe:

The value of pi is 3.141592653589793

Import mit Umbenennung

Wir können ein Modul importieren, indem wir es wie folgt umbenennen:

# import module by renaming it

import math as m
print("The value of pi is", m.pi)

Wir haben den math umbenannt Modul als m . Dies kann uns in manchen Fällen Zeit beim Tippen ersparen.

Beachten Sie, dass der Name math wird in unserem Geltungsbereich nicht anerkannt. Daher math.pi ist ungültig und m.pi ist die richtige Implementierung.


Python from...import-Anweisung

Wir können bestimmte Namen aus einem Modul importieren, ohne das Modul als Ganzes zu importieren. Hier ist ein Beispiel.

# import only pi from math module

from math import pi
print("The value of pi is", pi)

Hier haben wir nur den pi importiert Attribut aus math Modul.

In solchen Fällen verwenden wir den Punktoperator nicht. Wir können auch mehrere Attribute wie folgt importieren:

>>> from math import pi, e
>>> pi
3.141592653589793
>>> e
2.718281828459045

Alle Namen importieren

Wir können alle Namen (Definitionen) aus einem Modul mit dem folgenden Konstrukt importieren:

# import all names from the standard module math

from math import *
print("The value of pi is", pi)

Hier haben wir alle Definitionen aus dem Mathematikmodul importiert. Dies schließt alle Namen ein, die in unserem Gültigkeitsbereich sichtbar sind, außer denen, die mit einem Unterstrich beginnen (private Definitionen).

Alles mit dem Sternsymbol (*) zu importieren, ist keine gute Programmierpraxis. Dies kann zu doppelten Definitionen für einen Bezeichner führen. Es behindert auch die Lesbarkeit unseres Codes.


Beim Importieren eines Moduls schaut Python an mehreren Stellen nach. Der Interpreter sucht zuerst nach einem eingebauten Modul. Dann (wenn das eingebaute Modul nicht gefunden wird) schaut Python in eine Liste von Verzeichnissen, die in sys.path definiert sind . Die Suche erfolgt in dieser Reihenfolge.

>>> import sys
>>> sys.path
['',
'C:\\Python33\\Lib\\idlelib',
'C:\\Windows\\system32\\python33.zip',
'C:\\Python33\\DLLs',
'C:\\Python33\\lib',
'C:\\Python33',
'C:\\Python33\\lib\\site-packages']

Wir können diese Liste hinzufügen und ändern, um unseren eigenen Pfad hinzuzufügen.


Modul neu laden

Der Python-Interpreter importiert ein Modul nur einmal während einer Sitzung. Das macht die Sache effizienter. Hier ist ein Beispiel, um zu zeigen, wie das funktioniert.

Angenommen, wir haben den folgenden Code in einem Modul namens my_module .

# This module shows the effect of
#  multiple imports and reload

print("This code got executed")

Jetzt sehen wir den Effekt mehrerer Importe.

>>> import my_module
This code got executed
>>> import my_module
>>> import my_module

Wir können sehen, dass unser Code nur einmal ausgeführt wurde. Das bedeutet, dass unser Modul nur einmal importiert wurde.

Wenn sich nun unser Modul im Laufe des Programms geändert hat, müssten wir es neu laden. Eine Möglichkeit, dies zu tun, besteht darin, den Interpreter neu zu starten. Aber das hilft nicht viel.

Python bietet eine effizientere Möglichkeit, dies zu tun. Wir können den reload() verwenden Funktion innerhalb des imp module, um ein Modul neu zu laden. Wir können dies auf folgende Weise tun:

>>> import imp
>>> import my_module
This code got executed
>>> import my_module
>>> imp.reload(my_module)
This code got executed
<module 'my_module' from '.\\my_module.py'>

Die integrierte dir()-Funktion

Wir können den dir() verwenden Funktion, um Namen herauszufinden, die innerhalb eines Moduls definiert sind.

Beispielsweise haben wir eine Funktion add() definiert im Modul example die wir am Anfang hatten.

Wir können dir verwenden in example Modul folgendermaßen:

>>> dir(example)
['__builtins__',
'__cached__',
'__doc__',
'__file__',
'__initializing__',
'__loader__',
'__name__',
'__package__',
'add']

Hier sehen wir eine sortierte Liste von Namen (zusammen mit add ). Alle anderen Namen, die mit einem Unterstrich beginnen, sind Standard-Python-Attribute, die dem Modul zugeordnet sind (nicht benutzerdefiniert).

Beispiel:__name__ Attribut enthält den Namen des Moduls.

>>> import example
>>> example.__name__
'example'

Alle Namen, die in unserem aktuellen Namensraum definiert sind, können mit dem dir() herausgefunden werden Funktion ohne Argumente.

>>> a = 1
>>> b = "hello"
>>> import math
>>> dir()
['__builtins__', '__doc__', '__name__', 'a', 'b', 'math', 'pyscripter']

Python

  1. Python-Datentypen
  2. Python-Eingabe, -Ausgabe und -Import
  3. Python-Operatoren
  4. Python-Funktionsargumente
  5. Python-Module
  6. Python-Wörterbuch
  7. Python-Iteratoren
  8. Python-Schließungen
  9. Python-Datetime
  10. Python-Zeitmodul