Importa classe da sottodirectory in Python

Muhammad Maisam Abbas 10 ottobre 2023
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.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

Articolo correlato - Python Class