Heim >Backend-Entwicklung >Python-Tutorial >Was ist ein Modul? Einführung in Module in Python
In diesem Artikel erfahren Sie, was ein Modul ist. Die Einführung von Modulen in Python hat einen gewissen Referenzwert. Ich hoffe, dass es für Sie hilfreich ist.
In Python wird eine .py-Datei als Modul bezeichnet.
Was sind also die Vorteile der Verwendung von Modulen?
(1) Verbessert die Wartbarkeit des Codes.
(2) Der Code muss nicht von Grund auf neu gestartet werden. Sobald ein Modul geschrieben ist, kann es an anderer Stelle angewendet werden.
(3) Sie können Konflikte zwischen Funktionsnamen und Variablennamen vermeiden. Dieselben Funktionsnamen und Variablen können in verschiedenen Modulen gespeichert werden. Achten Sie jedoch darauf, dass keine Konflikte mit integrierten Funktionsnamen entstehen.Um Modulnamenkonflikte zu vermeiden, hat Python eine Methode eingeführt, um Modulkonflikte nach Verzeichnis zu verhindern, genannt Pakete (Python-Paket).
Eine abc.py-Datei ist ein Modul namens abc und eine xyz.py-Datei ist ein Modul namens xyz. Wenn die Modulnamen abc und xyz mit anderen Modulen in Konflikt stehen, können wir die Module in verschiedenen Paketen organisieren, um Modulkonflikte zu vermeiden.
kann sein:
↓ mycompany # 按目录存放 _init_.py # 模块名:mycompany abc.py # 模块名:mycompany.abc xyz.py # 模块名:mycompany.xyz
Nach der Einführung des Pakets werden alle Module nicht mit anderen in Konflikt geraten, solange der Paketname der obersten Ebene nicht mit anderen in Konflikt steht.
In jedem Paketverzeichnis befindet sich eine Datei _init_.py. Diese Datei muss vorhanden sein, andernfalls behandelt Python dieses Verzeichnis als normales Verzeichnis und nicht als Paket.
_init_.py kann eine leere Datei sein oder Python-Code enthalten, da _init_.py selbst ein Modul ist.
Python verfügt über viele sehr nützliche integrierte Module. Nach der Installation können diese Module sofort importiert und verwendet werden.
Zum Beispiel das folgende kleine Programm: Verwenden Sie das selbst erstellte sys-Modul, um ein Hallo-Modul hello.py zu schreiben.
# !/usr/bin/env python # -1- # -*-coding:utf-8 -*- # -2- _author_ = 'xionglp' # 使用_author_变量把作者写进去 import sys def test(): args = sys.argv if len(args) == 1: print ('hello,world!') elif len(args) ==2: print('hello,%s !'% args[1]) else: print('too many arguments!') if __name__ == '__main__': test()
Hinweis:
Kommentar# -1-: Lassen Sie die .py-Datei direkt unter Unix/Linux/Mac laufen
Kommentar# -2-: .py-Datei verwenden Standard-UTF-8-Kodierung
import sys: Importiert das sys-Modul. Über die sys-Variable können Sie dann auf alle Funktionen des sys-Moduls zugreifen.
Das sys-Modul verfügt über eine argv-Variable, die eine Liste zum Speichern aller Parameter der Befehlszeile verwendet. argv hat mindestens ein Element, da das erste Argument immer der Name der .py-Datei ist.
Wenn die Datei hello.py in der Befehlszeile ausgeführt wird, setzt der Python-Interpreter eine spezielle Variable __name__ auf __main__. Wenn das Modul an anderer Stelle importiert wird, schlägt die if-Beurteilung fehl, d. h. die if-Methode wird nur wirksam, wenn dieses Modul alleine ausgeführt wird. Dieser if-Test ermöglicht es einem Modul also, zusätzlichen Code auszuführen, wenn es über die Befehlszeile ausgeführt wird, was am häufigsten bei der Ausführung von Tests der Fall ist.
Importieren Sie das Modul in die interaktive Umgebung (cmd):
>>> import hello >>> hello.test() hello, world!
Zusätzlich zu Pythons eigenen Pakete, Sie können auch Module von Drittanbietern installieren. Die Installation von Paketen von Drittanbietern wird über das Paketverwaltungstool pip abgeschlossen.
Im Allgemeinen werden Bibliotheken von Drittanbietern auf der offiziellen Python-Website pypi.python.org registriert. Um eine Bibliothek eines Drittanbieters zu installieren, müssen Sie daher zunächst den Namen der Bibliothek kennen, der auf der offiziellen Website oder in pypi durchsucht werden kann. Der Name von Pillow lautet beispielsweise Pillow, daher lautet der Befehl zum Installieren von Pillow: pip install Pillow
Schritt 1: Suchen Sie easy_install.exe im Pfad zur Installation von Python, zum Beispiel: D:PythonScripts
Schritt 2: Öffnen Sie cmd, geben Sie den Installationsbefehl ein: easy_install.exe pip (Pip-Installation erfolgreich)
Schritt 3: Führen Sie pip unter cmd aus, geben Sie den Befehl ein: pip install Pillow
wie folgt:
Nach erfolgreicher Installation können Sie Pillow verwenden. Zu den anderen häufig verwendeten Bibliotheken von Drittanbietern gehören: MySQL-Treiber, NumPy-Bibliothek für wissenschaftliche Berechnungen usw.
Pip-Upgrade:
Bei der Installation mit Pip wird manchmal die Meldung angezeigt, dass die Version von Pip zu niedrig ist und aktualisiert werden muss. Die Eingabeaufforderung gibt Ihnen die auszuführende Anweisung. Folgen Sie einfach der Eingabeaufforderung und führen Sie sie aus.
Befehl ausführen: python –m pip install –upgrade pip
Wir können auch von uns selbst geschriebene Module importieren. Wenn wir versuchen, ein Modul zu laden, sucht Python im angegebenen Pfad nach der entsprechenden .py-Datei. Wenn sie nicht gefunden wird, wird ein Fehler gemeldet, zum Beispiel:
Standardmäßig durchsucht der Python-Interpreter das aktuelle Verzeichnis, alle installierten integrierten Module und Drittanbietermodule. Der Suchpfad wird in der Pfadvariablen des sys-Moduls gespeichert:
>>>import sys >>>sys.path
Wenn wir uns selbst hinzufügen möchten, gibt es zwei Methoden zum Durchsuchen von Verzeichnissen:
Methode 1: Ändern Sie sys.path direkt und fügen Sie das zu durchsuchende Verzeichnis hinzu. Diese Methode wird während der Laufzeit geändert und wird danach ungültig Der Lauf ist abgeschlossen.
>>> import sys >>> sys.path.append('/Users/xionglp/my_py_scripts')
法二:设置环境变量PYTHONPATH,该环境变量的内容会被自动添加到模块搜索路径中。设置方式与设置Path环境变量类似。注意只需要添加你自己的搜索路径,Python自己本身的搜索路径不受影响。
【补充点能量】if __name__ =="__main__":
__name__:为系统变量,有两个取值。当模块是被调用执行时,取值为模块的名字;当模块是直接执行时,则该变量取值为__name__。
if __name__ == "__main__"实现的功能:可以让模块既可以导入到别的模块中用,也可以自己执行。
英文解释说:make a script both importable and executeable例如:新建模块atest.py
# !/usr/bin/env python3 # -*- coding:utf-8 -*- 'a test module' def addFunc(a, b): return a + b print('a_test_module\'s result is ', addFunc(1, 1))
新建模块anothertest.py
# !/usr/bin/env python3 # -*- coding :utf-8 -*- 'another test module' import atest print('调用another test module模块执行的结果时:',atest.addFunc(12,23))
运行:
D:\Python_project>python atest.py a_test_module's result is 2 D:\Python_project>python anothertest.py a_test_module's result is 2 调用another test module模块执行的结果时: 35
说明:当运行anothertest.py的时候,先运行了atest.py,再运行anothertest.py。
若不希望出现atest的内容,python提供了一个系统变量:__name__。可以把被调用的测试代码写在if语句里,当调用该module时,此时的__name__取值为该模块的名字,所以if判断为假,不执行后续代码如下:
if __name__ == '__main__':` print ('atest的计算结果:',addFunc(1,1))
则运行结果为:
D:\Python_project>python anothertest.py 调用another test module模块执行的结果时: 35
此时我们就得到了预期结果,不输出多余的结果。
Das obige ist der detaillierte Inhalt vonWas ist ein Modul? Einführung in Module in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!