La parola chiave self in Python

Muhammad Waiz Khan 22 giugno 2021
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.

Articolo correlato - Python Keyword