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

Modul in Python mit Beispielen importieren

Was sind die Module in Python?

Ein Modul ist eine Datei mit Python-Code. Der Code kann in Form von Variablen, Funktionen oder Klassen definiert sein. Der Dateiname wird zum Modulnamen.

Wenn Ihr Dateiname beispielsweise guru99.py ist, lautet der Modulname guru99 . Mit der Modulfunktionalität können Sie Ihren Code in verschiedene Dateien aufteilen, anstatt alles in eine Datei zu schreiben.

In diesem Tutorial lernen Sie:

Was ist das Python-Importmodul?

Eine Datei wird in Python als Modul betrachtet. Um das Modul zu verwenden, müssen Sie es mit dem Import importieren Stichwort. Die in der Datei vorhandenen Funktionen oder Variablen können in einer anderen Datei verwendet werden, indem das Modul importiert wird. Diese Funktionalität ist in anderen Sprachen wie Typoskript, JavaScript, Java, Ruby usw. verfügbar.

Wie erstelle und importiere ich ein Modul in Python?

Jetzt erstellen wir ein Modul und importieren es in eine andere Datei.

Hier ist der Ablauf zum Erstellen und Importieren des Moduls, wie im Screenshot gezeigt:

Befolgen Sie die angegebenen Schritte, um ein Modul in Python zu erstellen.

Die zum Testen des Codes verwendete Ordnerstruktur lautet wie folgt:

modtest/
	test.py
	display.py	

Schritt 1) ​​ Erstellen Sie eine Datei und nennen Sie sie test.py

Schritt 2) Erstellen Sie in test.py eine Funktion namens display_message()

Def display_message():
    return "Welcome to Guru99 Tutorials!"

Schritt 3) Erstellen Sie nun eine weitere Datei display.py.

Schritt 4) Importieren Sie in display.py die Datei moduletest.py, wie unten gezeigt:

import test

Beim Importieren müssen Sie nicht die test.py angeben, sondern nur den Namen der Datei.

Schritt 5)

Dann können Sie die Funktion display_message() von test.py innerhalb von display.py aufrufen, Sie müssen module_name.function_name verwenden.

Zum Beispiel test.display_message().

Import test
print(test.display_message())

Schritt 6)

Wenn Sie display.py ausführen, erhalten Sie die folgende Ausgabe:

Welcome to Guru99 Tutorials!

Importieren einer Klasse in Python

Zuvor haben wir ein einfaches Modul mit einer Funktion gesehen. Hier wird eine Klasse erstellt und auf die Klasse in einer anderen Datei verwiesen.

Die Ordnerstruktur zum Testen des Codes sieht wie folgt aus:

myproj/
	Car.py
	display.py

Erstellen Sie eine Datei namens Car.py mit dem folgenden Code:

Dateiname :Car.py

class Car:
	brand_name = "BMW"
	model = "Z4"
	manu_year = "2020"

	def __init__(self, brand_name, model, manu_year):
		self.brand_name = brand_name
		self.model = model
		self.manu_year = manu_year

	def car_details(self):
		print("Car brand is ", self.brand_name)
		print("Car model is ", self.model)
		print("Car manufacture year is ", self.manu_year)
			
			
	def get_Car_brand(self):
		print("Car brand is ", self.brand_name)

	def get_Car_model(self):
		print("Car model is ", self.model) 

In der Datei Car.py gibt es die Attribute brand_name, model und manu_year. Die innerhalb der Klasse definierten Funktionen sind car_details(), get_Car_brand(), get_Car_model().

Lassen Sie uns nun die Datei Car.py als Modul in einer anderen Datei namens display.py verwenden.

Dateiname:display.py

import Car
car_det = Car.Car("BMW","Z5", 2020)
print(car_det.brand_name)
print(car_det.car_details())
print(car_det.get_Car_brand())
print(car_det.get_Car_model())

Ausgabe:

BMW
Car brand is  BMW
Car model is  Z5
Car manufacture year is  2020
Car brand is  BMW
Car model is  Z5

So können wir mit dem Car-Modul auf alle Variablen und Funktionen von Car.py zugreifen.

Mit from to import module

Sie können nur einen kleinen Teil des Moduls importieren, d. h. nur die erforderlichen Funktionen und Variablennamen aus dem Modul, anstatt den vollständigen Code zu importieren.

Wenn Sie möchten, dass nur bestimmte Dinge importiert werden, können Sie das Schlüsselwort „von“ verwenden, um zu importieren, was Sie möchten.

Die Syntax ist also

from  module import your function_name , variables,... etc.

Die zum Testen des Codes verwendete Ordnerstruktur lautet wie folgt:

modtest/
	test.py
	display.py	

In test.py gibt es 2 Funktionen wie gezeigt:

Dateiname:test.py

defdisplay_message():
	return "Welcome to Guru99 Tutorials!"
	
def display_message1():
	return "All about Python!"

Jetzt wollen Sie die Funktion display_message(). Auf die zu importierende Funktion oder Variable kann wie unten gezeigt direkt zugegriffen werden:

Dateiname:display.py

from test import display_message
print(display_message())

Ausgabe:

Welcome to Guru99 Tutorials!

Wenn Sie nun zufällig die Funktion display_message1() verwenden, wird ein Fehler ausgegeben, dass die Funktion nicht wie unten gezeigt definiert ist:

from test import display_message
print(display_message1())

Ausgabe:

Traceback (most recent call last):
File "display.py", line 3, in <module>
print(display_message1())
Name Error: name 'display_message1' is not defined

Alles aus dem Modul importieren

Import ermöglicht es Ihnen, das vollständige Modul zu importieren, indem Sie import verwenden, gefolgt vom Modulnamen, d. h. dem Dateinamen oder der zu verwendenden Bibliothek.

Syntax:

Import module

Oder mit

from module import *

Die zum Testen des Codes verwendete Ordnerstruktur lautet wie folgt:

modtest/
	test.py
	display.py	

Es folgen die Codedetails in test.py

my_name = "Guru99"
my_address = "Mumbai"

defdisplay_message():
	return "Welcome to Guru99 Tutorials!"
	
	
def display_message1():
	return "All about Python!"

Mit dem Importmodul

Wenn Sie nur den Modulnamen importieren, um auf die Variablen und Funktionen innerhalb des Moduls zu verweisen, muss der Modulname vorangestellt werden.

Beispiel

Dateiname:display.py

Import test
print(test.display_message())
print(test.display_message1())
print(test.my_name)
print(test.my_address)

Der Modulname test wird verwendet, um auf die Funktion und die Variablen innerhalb des Moduls test zu verweisen.

Ausgabe:

Welcome to Guru99 Tutorials!
All about Python!
Guru99
Mumbai

Mit Import *

Sehen wir uns ein Beispiel mit import * an . Mit import * , sind die Funktionen und Variablen direkt zugänglich, wie im folgenden Beispiel gezeigt:

from test import *

print(display_message())
print(display_message1())
print(my_name)
print(my_address)

Ausgabe:

Welcome to Guru99 Tutorials!
All about Python!
Guru99
Mumbai

Die Funktion dir( )

dir() ist eine eingebaute Funktion in Python. dir() gibt alle Eigenschaften und Methoden zurück, einschließlich der eingebauten Eigenschaften des gegebenen Objekts.

Wenn also dir() auf dem Modul verwendet wird, gibt es Ihnen die Variablen, Funktionen, die innerhalb des Moduls vorhanden sind.

Hier ist ein funktionierendes Beispiel für dir() in einem Modul. Wir haben eine Klasse namens Car.py, lassen Sie uns Car importieren und dir() zuweisen, um die Ausgabe zu sehen.

Die Ordnerstruktur zum Testen des Codes sieht wie folgt aus:

test prop/
	Car.py
	test.py	

Dateiname:Car.py

class Car:
	brand_name = "BMW"
	model = "Z4"
	manu_year = "2020"

	def __init__(self, brand_name, model, manu_year):
		self.brand_name = brand_name
		self.model = model
		self.manu_year = manu_year

	def car_details(self):
		print("Car brand is ", self.brand_name)
		print("Car model is ", self.model)
		print("Car manufacture year is ", self.manu_year)
			
			
	def get_Car_brand(self):
		print("Car brand is ", self.brand_name)

	def get_Car_model(self):
		print("Car model is ", self.model) 

Dateiname:test.py

import Car

class_contents = dir(Car)
print(class_contents)

Die Ausgabe gibt uns den Namen der Klasse und alle in Car.py definierten Funktionen.

Sie können auch versuchen, dir() in einem integrierten Modul zu verwenden, das in Python verfügbar ist. Lassen Sie uns dasselbe mit json versuchen Modul wie im folgenden Beispiel gezeigt. Es zeigt alle in json verfügbaren Eigenschaften und Methoden an Modul.

Import json
json_details = dir(json)
print(json_details)

Ausgabe:

['JSONDecodeError', 'JSONDecoder', 'JSONEncoder', '__all__', '__author__', '__bu
iltins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__pac
kage__', '__path__', '__spec__', '__version__', '_default_decoder', '_default_en
coder', 'codecs', 'decoder', 'detect_encoding', 'dump', 'dumps', 'encoder', 'loa
d', 'loads', 'scanner']

Pakete

Ein Paket ist ein Verzeichnis mit allen darin definierten Modulen. Damit ein Python-Interpreter es als Paket behandelt, sollte Ihr Verzeichnis die Datei init.py enthalten. Die init.py erstellt das Verzeichnis als Paket. Hier ist das Layout des Pakets, an dem wir arbeiten werden.

Der Name des Pakets ist mein Paket . Um mit der Arbeit mit dem Paket zu beginnen, erstellen Sie ein Verzeichnis namens package/. Erstellen Sie innerhalb des Verzeichnisses eine leere Datei mit dem Namen __init__.py. Erstellen Sie 3 weitere Dateien module1.py, module2.py und module3.py und definieren Sie die Funktionen wie im Screenshot gezeigt. Hier sind die Details von module1.py, module2.py und module3.py

module1.py

def mod1_func1():
print("Welcome to Module1 function1")

def mod1_func2():
print("Welcome to Module1 function2")

def mod1_func3():
print("Welcome to Module1 function3")

module2.py

def mod2_func1():
print("Welcome to Module2 function1")

def mod2_func2():
print("Welcome to Module2 function2")

def mod2_func3():
print("Welcome to Module2 function3")

module3.py

def mod3_func1():
print("Welcome to Module3 function1")

def mod3_func2():
print("Welcome to Module3 function2")

def mod3_func3():
print("Welcome to Module3 function3")

Das Paket ist einsatzbereit. Rufen Sie nun das Paket in einer Ihrer Dateien wie unten gezeigt auf:test.py:

Hier wird mypackage.module1 importiert und erhält einen Aliasnamen als mod1. Ebenso können Sie andere Module module2.py und module3.py aus meinem Paket verwenden.

import mypackage.module1 as mod1

print(mod1.mod1_func1())
print(mod1.mod1_func2())
print(mod1.mod1_func2())

Ausgabe:

Welcome to Module1 function1
None
Welcome to Module1 function2
None
Welcome to Module1 function2
None

Wir haben gerade das Paket mit einem einfachen Modul mit darin enthaltenen Funktionen demonstriert. Je nach Projekt können Sie auch mit Unterpaketen paketieren. Unterordner/ mit Modulen mit definierten Klassen.

Suchpfad für Python-Modul

Während der Ausführung, wenn Python auf Name des Importmoduls stößt , versucht der Interpreter, das Modul zu finden. Es sucht das Modul in der eingebauten Modulliste. Später überhaupt die Verzeichnisse, die in sys.path.

definiert sind

Zusammenfassend führt der Interpreter die folgende Suche durch, um das Modul zu lokalisieren:

  1. In Ihrem aktuellen Verzeichnis.
  2. In der eingebauten Modulliste
  3. Innerhalb der sys.path-Verzeichnisse

Sie können die Details von sys.path abrufen, indem Sie das sys-Modul importieren und den sys.path drucken. Es wird Ihnen die unten gezeigte Liste der Verzeichnisse geben:

importsys
print(sys.path)

Ausgabe:

['Python Latest\\task2', 'Users\\AppData\\Local\\Programs\\Python\
\Python37\\python37.zip', 'Users\\AppData\\Local\\Programs\\Python\\P
ython37\\DLLs']

Sie können auch den Pfad ändern und die Verzeichnisse gemäß Ihren Anforderungen beibehalten.

Modul-Alias ​​beim Import verwenden

Sie können den Modulnamen auch in eine kürzere Form umwandeln, indem Sie ihm einen Aliasnamen geben. Der Alias ​​kann mit dem Schlüsselwort.

erstellt werden

Syntax:

import filename as alias name

Die Ordnerstruktur zum Testen des Codes sieht wie folgt aus:

Mod test/
	test.py
	display.py	

Es folgt der Code in test.py

my_name = "Guru99"
my_address = "Mumbai"

def display_message():
	return "Welcome to Guru99 Tutorials!"	
	
def display_message1():
	return "All about Python!"

Jetzt wird ein Alias ​​für test.py in display.py

verwendet
Import test as t

print(t.display_message())
print(t.display_message1())
print(t.my_name)
print(t.my_address)

Der für das Testmodul verwendete Alias ​​lautet t . Auf die Funktion und Variablen aus test.py kann also mit dem Alias ​​t verwiesen werden.

Ausgabe:

Welcome to Guru99 Tutorials!
All about Python!
Guru99
Mumbai

Absolute und relative Importe in Python

Sie wissen jetzt, wie Sie eine Datei als Modul in eine andere Datei importieren. Sehen wir uns nun an, wie die in Ordnern verfügbaren Dateien verwaltet werden. Die Dateien in den Ordnern können entweder absolut oder relativ importiert werden.

Stellen Sie sich vor, Sie haben Ihre Projektordnerstruktur wie unten gezeigt:

Der Stammordner ist mein Projekt/. Es hat zwei Unterordner Paket1 und Paket2.

Der Ordner package1 hat zwei Module, module1.py und module2.py.

Der Ordner package2 hat eine Klasse myclass.py, ein Unterpaket subpkg mit module3.py und zuletzt module4.py.

Absolute Importe verwenden

Für absolute Importe müssen Sie den gesamten Pfad Ihres Moduls direkt aus dem Projektstammordner hinzufügen.

Sehen wir uns nun an, wie man absolute Importe verwendet, um auf die in jedem Modul vorhandenen Funktionen zu verweisen.

Um mit der Funktionmyfunc1 zu arbeiten, müssen Sie wie folgt importieren:

from package1.module1  import  myfunc1
or
from package1 import module1
module1.myfunc1()  

Um mit der Funktion myfunc3 zu arbeiten, müssen Sie wie folgt importieren:

from package1.subpkg.module3  import  myfunc3
or
from package1.subpkg import module3
module3.myfunc3()  

Vor- und Nachteile der Verwendung absoluter Importe

Hier sind die Vorteile der Verwendung absoluter Importe:

Nachteile der Verwendung absoluter Importe

Hier sind die Nachteile der Verwendung absoluter Importe:

Nachteile:

Verwendung relativer Importe

Unter Berücksichtigung derselben Ordnerstruktur, die unten erwähnt wird, werden wir sehen, wie sie mithilfe relativer Importe importiert wird.

Beim relativen Import ist das zu importierende Modul relativ zum aktuellen Speicherort, dh dem Speicherort, an dem die Importanweisung vorhanden ist.

Syntax:

Bei relativen Importen müssen Sie einen Punkt (.) vor dem Modulnamen einfügen, wenn Sie mit from importieren .

Es werden 2 Punkte (..) vor dem Modulnamen stehen, wenn sich das Modul eine Ebene höher als der aktuelle Standort befindet.

In Bezug auf die oben erwähnte Ordnerstruktur-Abbildung haben wir die folgenden Module mit ihrer Funktion, auf die wir verweisen müssen.

Um mit der Funktionmyfunc1 zu arbeiten, müssen Sie wie folgt importieren:

from  .module1  import  myfunc1

Um mit der Funktion myfunc3 zu arbeiten, müssen Sie wie folgt importieren:

from  .subpkg.module3  import  myfunc3

Vorteile relativer Importe

Vorteile:

Nachteile relativer Importe

Nachteile:

Zusammenfassung:


Python

  1. Python-Module
  2. Python String count() mit BEISPIELE
  3. Python String format() Erklären Sie mit BEISPIELE
  4. Python String find() Methode mit Beispielen
  5. Python-Lambda-Funktionen mit BEISPIELE
  6. Python-Funktion round() mit BEISPIELE
  7. Python map() Funktion mit BEISPIELE
  8. Python Timeit() mit Beispielen
  9. Python-Zähler in Sammlungen mit Beispiel
  10. type() und isinstance() in Python mit Beispielen