Ein Modul ist eine Datei, die Python-Definitionen und -Anweisungen enthält.
(Das Suffix des Dateinamens lautet .py
)
Die folgenden Dateien können auch als Module behandelt werden.
HelloWorld.py
print( “HelloWorld” )
Importieren Sie beispielsweise das Modul "os" der Standardbibliothek.
import_test.py
import os
print( type( os ) )
# <class ‘module’>
print( os.getcwd() )
# /private/var/mobile/Library/Mobile Documents/iCloud~com~omz-software~Pythonista3/Documents/Test
Sie können importieren, indem Sie wie oben beschrieben import <Modulname>
verwenden.
Module werden als Objekte vom Typ "Modul" importiert.
Verzeichnis
- iCould - Test - MyFunc - MyCalc.py - MyCalcTest.py
Wir werden mit den obigen Verzeichnissen fortfahren. Importieren Sie das Modul "MyCalc.py" mit "MyCalcTest.py" Versuchen Sie es mit den Funktionen des Moduls "MyCalc.py".
MyCalc.py
'''
Selbst erstelltes Berechnungsmodul
'''
def sum ( v1, v2 ) :
'''
Hinzufügen
'''
return v1 + v2
def sub ( v1, v2 ) :
'''
Subtrahieren
'''
return v1 - v2
MyCalcTest.py
import MyFunc.MyCalc
v1 = 10
v2 = 5
res1 = MyFunc.MyCalc.add( v1, v2 )
print( "%d + %d = %d" %( v1, v2, res1 ) )
#>> 10 + 5 = 15
res2 = MyFunc.MyCalc.sub( v1, v2 )
print( "%d - %d = %d" %( v1, v2, res2 ) )
# 10 - 5 = 5
Ich konnte die Funktionen des Moduls MyCalc.py
wie folgt nutzen.
Es ist mühsam, jedes Mal "MyFunc.MyCalc.add" zu schreiben.
Sie können ein Objekt mit from <Modulname> import <Objektname>
importieren.
import_test.py
from MyFunc.MyCalc import add, sub
v1 = 10
v2 = 5
res1 = add( v1, v2 )
print( "%d + %d = %d" %( v1, v2, res1 ) )
res2 = sub( v1, v2 )
print( "%d - %d = %d" %( v1, v2, res2 ) )
Alle Objekte können mit dem Platzhalter *
importiert werden.
import_test.py
from MyFunc.MyCalc import *
v1 = 10
v2 = 5
res1 = add( v1, v2 )
print( "%d + %d = %d" %( v1, v2, res1 ) )
res2 = sub( v1, v2 )
print( "%d - %d = %d" %( v1, v2, res2 ) )
Abhängig von der Verzeichnishierarchie kann der zu importierende Pfadname lang sein. Es ist besser, das Objekt anzugeben, als es so zu verwenden, wie es ist. Gibt es im Namespace einen Platzhalter, der sehr einfach zu verwenden ist? Es kann besser sein, darauf zu verzichten, weil es unbekannt ist.
Recommended Posts