Importa classe da sottodirectory in Python
In questo tutorial, discuteremo dei metodi per importare classi da sottodirectory in Python.
Importa classi da sottodirectory con l’istruzione import
in Python3
In Python 3.x, importare classi dalla directory corrente o da qualsiasi sottodirectory è molto semplice. Useremo la seguente struttura di directory in questo tutorial.
Main/
main.py
A.py
B/
B.py
I file A.py
e B.py
contengono due classi, Aclass
e Bclass
, che verranno importate nella classe main.py
. Il codice di A.py
e B.py
è mostrato di seguito.
File A.py
:
class Aclass:
a = 5
def show(this):
print("Hello! this is class A")
File B.py
:
class Bclass:
b = 5
def show(this):
print("Hello! this is class B")
L’istruzione import
importa Aclass
e Bclass
in main.py
. Il seguente esempio di codice ci mostra come importare classi da sottodirectory con l’istruzione import
in Python.
from A import Aclass
from B.B import Bclass
var1 = Aclass()
var2 = Bclass()
var1.show()
var2.show()
Produzione:
Hello! this is class A
Hello! this is class B
Nel codice sopra, importiamo sia Aclass
che Bclass
nel file main.py
con l’istruzione import
. Per i file nella stessa directory, dobbiamo usare la seguente notazione.
from filename import classname
Il filename
è il nome del file e il classname
è il nome della classe da importare. Per i file nella sottodirectory, dobbiamo seguire la seguente notazione.
from dirname.filename import classname
dirname
è il nome della directory in cui si trova il file, filename
è il nome del file e classname
è il nome della classe da importare. Per i file nelle sottodirectory o sottodirectory, dobbiamo aggiungere un altro .subdirname
come mostrato di seguito.
from dirname.subdirname.filename import classname
dirname
è il nome della directory, subdirname
è il nome della sottodirectory contenente il file, filename
è il nome del file e classname
è il nome della classe da importato.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn