L'istanza di una classe è un principio molto semplice per l'uso dell'approccio di programmazione orientata agli oggetti (OOP) e le persone spesso confondono questo termine con qualcosa di complesso. In Python, l'istanza di una classe o la creazione della sua istanza viene eseguita creando una variabile e impostandola uguale al nome della classe con parentesi, proprio come chiameresti una funzione.
Questo post fungerà da guida e spiegherà cosa si intende per istanziamento e il processo di istanza di una classe in dettaglio.
Che istanziazione di una classe in Python?
L'istanziazione di una classe significa semplicemente creare una duplicata/copia di una classe Python, che conterrà tutte le variabili, le funzioni e gli attributi della classe originale. Quando si riferisce all'istanziazione dal punto di OOP, allora è il processo di creazione di variabili oggetti della classe.
Nota: Fare oggetti/copie di una classe è anche chiamato la creazione di istanze di una classe, quindi il termine "istanziando" una classe
Come istanziare una classe in Python?
Come accennato in precedenza, per istanziare una classe, è necessario chiamare il nome della classe come chiameresti una funzione normale e archiviare il risultato in una variabile. Ancora una volta, in termini di OOP, si chiama Chiamare il costruttore. Tuttavia, provoca confusione tra le persone poiché non si specifica il metodo del costruttore con lo stesso nome in Python.
Comunque, la sintassi dell'istanziazione di una classe è la seguente:
objvar = className (inizializeVariableArguments)
In questa sintassi:
Esempio 1: istanziare una classe di base in Python
Per dimostrare il metodo di istanza di una classe, è necessario prima avere una classe. Pertanto, prendi il seguente frammento di codice che creerà una classe per le persone con i nomi di due persone memorizzate in variabili e una funzione per stampare il nome della persona1:
Persona di classe:
p1name = "John Doe"
p2name = "Rudy Taylor"
def getnamep1 (self):
Restituisci se stessi.p1Name;
Successivamente, crea una variabile denominata "POBJ1" e imposta la uguale al nome della classe "persona" con parentesi rotonde per fare una copia della classe all'interno di POBJ1:
pobj1 = persona ()
Successivamente, è possibile utilizzare la variabile POBJ1 con l'operatore dot per accedere alle variabili e alla funzione della classe persona:
Stampa ("Accedi direttamente alla variabile:", POBJ1.p2name)
Print ("Chiamando la funzione della classe:", POBJ1.getNamep1 ())
Lo snippet di codice per questo esempio è il seguente:
Persona di classe:
p1name = "John Doe"
p2name = "Rudy Taylor"
def getnamep1 (self):
Restituisci se stessi.p1Name;
pobj1 = persona ()
Stampa ("Accedi direttamente alla variabile:", POBJ1.p2name)
Print ("Chiamando la funzione della classe:", POBJ1.getNamep1 ())
Quando si esegue questo codice, produrrà il seguente risultato sul terminale:
Da questo output, puoi chiaramente concludere che hai istanziato con successo la classe persona.
Esempio 2: istanziare una classe in Python passando valori
Se una classe ha variabili non inizializzate, allora dovrai passare i valori durante la creazione di istanze di quella classe. Per dimostrarlo, prendi il seguente codice di classe:
Persona di classe:
def __init __ (self, p1name, p2name):
se stesso.p1Name = p1Name
se stesso.p2name = p2name
def getnamep1 (self):
Restituisci se stessi.p1Name;
In questa classe, le variabili P1Name e P2Name sono non inizializzate e devi passare il valore durante la creazione dell'istanza come segue:
pobj1 = persona ("Alex", "Monroe")
Dopo ciò, è possibile utilizzare il POBJ1 per accedere alle variabili e funzionare proprio come nel primo esempio:
Stampa ("Accedi direttamente alla variabile:", POBJ1.p2name)
Print ("Chiamando la funzione della classe:", POBJ1.getNamep1 ())
Lo snippet di codice completo per questo esempio è come:
Persona di classe:
def __init __ (self, p1name, p2name):
se stesso.p1Name = p1Name
se stesso.p2name = p2name
def getnamep1 (self):
Restituisci se stessi.p1Name;
pobj1 = persona ("Alex", "Monroe")
Stampa ("Accedi direttamente alla variabile:", POBJ1.p2name)
Print ("Chiamando la funzione della classe:", POBJ1.getNamep1 ())
Quando si esegue questo programma, creerà il seguente output sul terminale:
Hai istanziato con successo una classe con variabili non inizializzate con successo.
Conclusione
L'istanza di una classe è il processo di creazione di istanze di quella classe che contengono tutte le variabili, le funzioni e altri attributi, che possono essere chiamati una copia di quella classe. Per istanziare una classe, è necessario chiamare il suo metodo del costruttore e, in Python, il metodo del costruttore è il nome della classe seguito da staffe rotonde, proprio come chiamare una funzione. Una volta che una classe è stata istanziata, è possibile accedere agli attributi della classe copiata utilizzando un operatore DOT.