La parola chiave self in Python
Questo tutorial spiegherà lo scopo e l’uso della parola chiave self
in Python. Nella programmazione orientata agli oggetti, abbiamo classi e ogni classe ha vari attributi e metodi. Ogni volta che viene creato un oggetto o un’istanza di una classe, viene chiamato il costruttore (metodo __init__()
in Python) per inizializzare gli attributi dell’istanza.
Durante la creazione di un’istanza di una classe, è necessario differenziare o specificare gli attributi dell’istanza dagli argomenti e da altre variabili. Ed è qui che abbiamo bisogno della parola chiave self
per specificare che stiamo passando il valore agli attributi dell’istanza e non alla variabile locale o all’argomento con lo stesso nome.
Supponiamo, per una classe car
di passare l’argomento color
al metodo __init__()
per inizializzare l’attributo color
della classe car
, specificheremo l’attributo color
dell’istanza come self.color
, che mostra che la classe car
ha un attributo color
e assegniamo il valore a quell’attributo.
Allo stesso modo, possiamo anche chiamare i metodi di istanza della classe usando la parola chiave self
come il metodo self.start()
della classe car
. Quindi, in breve, possiamo dire che la parola chiave self
consente all’utente di specificare e accedere agli attributi e ai metodi di un’istanza della classe.
Codici di utilizzo ed esempio della parola chiave self
in Python
Ora, esaminiamo come la parola chiave self
viene utilizzata in Python per specificare i metodi e gli attributi di un’istanza attraverso il codice di esempio.
Il primo codice di esempio fornito di seguito mostra come la parola chiave self
viene utilizzata nel metodo __init__()
per inizializzare gli attributi dell’istanza che viene inizializzata. Non è necessario dichiarare o creare variabili prima di inizializzare o assegnare loro valori in modo da poter inizializzare gli attributi di istanza nel modo seguente:
class car:
def __init__(self, model, color):
self.model = model
self.color = color
mycar = car("model XYZ", "red")
print(mycar.model)
print(mycar.color)
Produzione:
model XYZ
red
Come si può vedere sopra, il metodo __init__()
viene chiamato automaticamente quando si crea una nuova istanza della classe, ei suoi attributi vengono inizializzati. Il self
deve essere il parametro del metodo per accedere ai metodi e agli attributi delle istanze.
Il codice di esempio seguente mostra come utilizzare la parola chiave self
per chiamare i metodi di istanza / classe all’interno di altri metodi di classe in Python.
class car:
def __init__(self, model, color):
self.model = model
self.color = color
self.start()
def start(self):
print(self.model + ", has started!")
mycar = car("model XYZ", "red")
Produzione:
model XYZ, has started!
Come nel codice di esempio sopra, possiamo chiamare metodi di classe usando la parola chiave self
e accedere agli attributi in qualsiasi metodo di classe passando l’istanza della classe come parametro self
.