Cosè il sé in Python: esempi del mondo reale

Cosè il sé in Python: esempi del mondo reale

Quando scrivi classi in Python, potresti spesso incontrare il termine 'self.'È un concetto cruciale che i principianti devono comprendere mentre si immergono più a fondo nelle funzionalità orientate agli oggetti nel linguaggio di programmazione Python.

Il selfparametro si riferisce all'istanza corrente di una classe. Puoi usarlo per accedere agli attributi e ai metodi che appartengono a quella classe.

In questo tutorial Python, esploreremo come la selfvariabile gioca un ruolo fondamentale nelle classi Python. Ti mostreremo anche come mantenere la chiarezza del codice, la modularità e la riutilizzabilità attraverso l'uso di self.

Sommario

Comprendere il sé in Python

Python è un linguaggio di programmazione orientato agli oggetti (OOP) che si basa fortemente su classi e oggetti. Quindi, prima di immergerci nel selfparametro, dobbiamo prima capire cos'è la programmazione orientata agli oggetti.

Programmazione orientata agli oggetti in Python

Cos'è il sé in Python: esempi del mondo realeScrittura con il gesso – OOP, programmazione orientata agli oggetti "data-medium-file="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-300x200.jpg" data- large-file="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" decoding="async" loading="lazy" src="https: //blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" alt="Cos'è il Sé in Python." class="wp-image-206807" width=" 709" height="472" srcset="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg 612w, https://blog.enterprisedna.co /wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-300x200.jpg 300w, https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-560x372.jpg 560w" size="(larghezza massima: 709px) 100vw, 709px">

La programmazione orientata agli oggetti aiuta i programmatori a modellare concetti e relazioni del mondo reale attraverso l'uso di classi e oggetti. Ciò si traduce in un codice più strutturato, riutilizzabile e scalabile.

Pensa a una classe come a un modello per la creazione di oggetti con proprietà e metodi predefiniti. Inoltre, un oggetto è un'istanza di una classe che memorizza i propri valori per gli attributi e ha accesso alle funzioni di classe.

Questi due concetti sono un elemento fondamentale in molte applicazioni Python . Puoi vedere sia le classi che gli oggetti al lavoro in questo video su Come creare facilmente dati con la libreria Python Faker.

Il ruolo di Python Self

Self è un riferimento all'istanza della classe in Python. Consente di accedere e modificare gli attributi ei metodi di una classe all'interno del proprio ambito.

Ecco alcuni punti chiave sull'uso di self in Python:

  • Selfnon è una parola chiave riservata nella sintassi di Python . È possibile utilizzare altri nomi per identificare le istanze di classe, ma selfè la convenzione più utilizzata e accettata dai programmatori Python.
  • Selfviene utilizzato come primo parametro nei metodi di istanza per fare riferimento all'istanza corrente della classe.
  • Puoi usare selfper distinguere tra attributi di istanza e variabili locali, rendendo il tuo codice più leggibile e meno difettoso.
  • Quando si chiama un metodo di istanza, Python passa automaticamente l'istanza come primo parametro.
  • È necessario dichiarare il selfparametro nel __init__() costruttore e in tutti gli altri successivi costruttori di funzioni nella classe. In caso contrario, il tuo programma lancerà un file typeerror.

    Puoi vedere un esempio di questo errore qui sotto:

class Person: def __init__(self): print('welcome') def show_person(): print('I love pandas.') a = Person() b = a.show_person() Traceback (most recent call last): File "person.py", line 10, in trill = b.show_person() ^^^^^^^^^^^^^^^^^^ TypeError: Person.show_person() takes 0 positional arguments but 1 was given

Nota: puoi aggirare l'uso del self parametro nelle funzioni utilizzando la funzionalità del metodo statico fornita da Python 3. Entreremo più in dettaglio su questo in una sezione successiva.

Lavorare con sé

Cos'è il sé in Python: esempi del mondo reale

Imparare a usare self è molto importante per costruire classi in Python. In questa sezione imparerai come utilizzare self in diversi scenari quando lavori con classi e oggetti.

Inizializzazione di oggetti con '__init__()'

Cos'è il sé in Python: esempi del mondo reale

Quando si crea una nuova istanza di una classe, il __init__() metodo viene chiamato per inizializzare gli attributi dell'oggetto. Il __init__() metodo è il costruttore della classe e accetta il self parametro come primo argomento.

Il selfparametro viene utilizzato all'interno di questo metodo per associare gli attributi dell'istanza con gli argomenti dati.

Ecco un esempio:

class Person: def __init__(self, name, age): self.name = name self.age = age person1 = Person("Alice", 30)

In questo esempio, il metodo accetta , e come parametri durante l'inizializzazione dell'oggetto. Il parametro fa riferimento all'istanza della classe, consentendo di impostare gli attributi e per l'oggetto specifico che si sta creando. init selfnameageself nameage

Usare il Sé nei Metodi

Quando si definiscono i metodi di istanza in una classe, è necessario includere self come primo parametro. Ciò consente di accedere agli attributi dell'istanza e ad altri metodi all'interno della classe.

Espandiamo l'esempio precedente:

class Person: def __init__(self, name, age): self.name = name self.age = age def introduce(self): print("Hello, my name is " + self.name + " and I'm " + str(self.age) + " years old.") person1 = Person("Alice", 30) person1.introduce()

In questo esempio, il introduce()metodo include selfcome primo parametro. Ciò consente di accedere agli attributi del nome e dell'età dell'oggetto e di creare un'introduzione personalizzata.

Quando si chiama il metodo nel codice, non è necessario passare il self parametro in modo esplicito. Python se ne occupa automaticamente.

Seguendo queste linee guida e comprendendo lo scopo di selfin Python , i principianti possono lavorare efficacemente con classi e oggetti. Questo consente loro di creare un codice ben strutturato facile da leggere e mantenere.

Casi di uso personale comuni

Cos'è il sé in Python: esempi del mondo reale

Ci sono molti modi in cui puoi usare la parola chiave nel tuo codice Python. Comprendendo questi casi d'uso, sarai in grado di utilizzarli efficacemente nei tuoi programmi. self self

Diamo un'occhiata ad alcuni di loro:

Accesso agli attributi di classe

Un uso principale di selfè accedere agli attributi dell'istanza all'interno di una classe. Gli attributi di istanza sono specifici di un oggetto creato dalla classe e memorizzano i dati dell'oggetto.

L'utilizzo selfconsente di manipolare o accedere a questi attributi all'interno dei metodi di classe. Diamo un'occhiata a un esempio:

class Dog: def __init__(self, name, age): self.name = name self.age = age def display_name(self): print("The dog's name is:", self.name)

In questo esempio, abbiamo usato self per accedere all'attributo name di un oggetto Dog all'interno del display_name metodo.

Chiamata di metodi di classe

Un altro caso d'uso comune di selfè chiamare altri metodi di classe dall'interno di un metodo di istanza. Ciò consente di riutilizzare il codice, ridurre la complessità e migliorare la leggibilità.

È essenziale da usare selfquando si fa riferimento ad altri metodi, poiché garantisce che venga chiamato il metodo corretto per l'istanza specifica. Considera il seguente esempio:

class Bird: def __init__(self, species, color): self.species = species self.color = color def show_species(self): print("The bird species is:", self.species) def show_info(self): self.show_species() print("The bird color is:", self.color)

Nell'esempio sopra, usiamo selfper chiamare il show_speciesmetodo dall'interno del show_infometodo. Questo ci consente di visualizzare la specie e il colore dell'uccello in un unico richiamo.

Infine, ricorda di utilizzare selfquando accedi agli attributi dell'istanza e chiami i metodi della classe. Una volta compresi questi casi d'uso, sarai in grado di scrivere codice Python più efficiente e organizzato.

Le migliori pratiche personali

Cos'è il sé in Python: esempi del mondo reale

Quando lavori con self,ci sono alcune convenzioni che devi seguire per evitare problemi e bug nel tuo codice. Ecco qui alcuni di loro.

Dove usare Self

Quando si definiscono i metodi di istanza, utilizzare sempre il selfparametro come primo parametro. Ciò consente di accedere e modificare gli attributi di istanza dell'oggetto e chiamare altri metodi di istanza all'interno della classe.

È importante da usare selfquando si lavora con istanze di oggetti in Python. Il suo utilizzo garantisce un comportamento coerente e consente un corretto incapsulamento degli oggetti.

Si consideri ad esempio la seguente classe:

class MyClass: def __init__(self, my_var): self.my_var = my_var

Qui, il parametro self viene utilizzato nel __init__ metodo per inizializzare l' my_var attributo dell'istanza dell'oggetto. In questo modo, diventa un attributo specifico dell'istanza. my_var

Di conseguenza, è possibile accedervi e modificarlo utilizzando l'autoriferimento in altri metodi della classe.

Convenzioni di denominazione per il sé

Sebbene selfsia il nome convenzionale utilizzato per l'istanza in Python, puoi tecnicamente utilizzare qualsiasi nome ti piaccia. Tuttavia, si consiglia vivamente di attenersi all'uso di self per chiarezza e coerenza con la più ampia comunità di Python.

L'uso di un nome diverso potrebbe causare confusione a coloro che leggono e lavorano con il tuo codice, specialmente se sono abituati alle convenzioni di denominazione standard nelle librerie Python.

Dove non usare Self

Sappiamo già che il selfparametro fornisce l'accesso all'istanza dell'oggetto. Tuttavia, in alcuni casi, alcune funzioni nella classe potrebbero non richiedere l'accesso all'istanza dell'oggetto.

In questo scenario, il parametro self non è necessario. Quindi, Python fornisce una funzionalità di metodo statico per bypassare il parametro self:

Ecco un esempio:

class Car: @staticmethod def print_car(): print('Vroom Vroom')

Nell'esempio precedente, il @staticmethoddecoratore di funzioni esegue l'override del selfparametro requisito nel metodo. In questo modo, la funzione verrà comunque eseguita anche se non viene passata alcuna istanza di oggetto.

Conclusione

Cos'è il sé in Python: esempi del mondo reale

In sintesi, il parametro self in Python si riferisce all'istanza di una classe e consente di accedere ai suoi attributi e metodi. Come sviluppatore Python, è importante comprendere lo scopo di self e il suo utilizzo in classi e oggetti.

Usando self in modo coerente nel tuo codice, promuovi la leggibilità e la manutenibilità, il che migliora la qualità complessiva del tuo lavoro.

Inoltre, ricorda che mentre potresti vedere il termine "self"usato frequentemente in Python, non è una parola chiave Python riservata. Ciò differisce dai linguaggi di programmazione come Javascript e Java , dove "this" è una parola chiave riservata.

Puoi nominare il primo parametro in un metodo di classe come preferisci; " self" è solo la convenzione preferita.

Self è una parola chiave in Python? 

C'è una domanda che aleggia sempre tra i programmatori Python. Self è effettivamente una parola chiave in Python? 

A differenza di altri linguaggi di programmazione come C++, dove self è considerata una parola chiave, in Python è una convenzione che i programmatori tendono a seguire. È fondamentalmente un parametro nella definizione di un metodo. Tuttavia, puoi utilizzare qualsiasi altro nome al posto di te stesso, come un altro me o qualsiasi altra cosa per il primo parametro di un metodo. Un altro motivo per cui viene suggerito dalla maggior parte delle persone è che migliora la leggibilità del codice. 

Vediamo un esempio per capirlo: 

class miaClasse:   def show(another):   print("un altro viene utilizzato al posto di sé")  

Se confronti questo codice con il codice per l'autocostruttore della classe Python, noterai che qui abbiamo usato il nome un altro in luogo di se stesso. Ora creiamo un oggetto di questa classe e vediamo l'output: 

oggetto = miaClasse()   oggetto.mostra()

Puoi vedere che il programma funziona anche se usiamo un altro nome al posto della variabile self. Funziona esattamente allo stesso modo della variabile self. 


Power Automate si applica a ogni azione nei flussi di lavoro

Power Automate si applica a ogni azione nei flussi di lavoro

Scopri l

Tecniche di modellazione dei dati per organizzare le misure DAX

Tecniche di modellazione dei dati per organizzare le misure DAX

Tecniche di modellazione dei dati per organizzare meglio le misure DAX per un flusso di lavoro più efficiente.

Filtro Power Apps: cosè e come si usa?

Filtro Power Apps: cosè e come si usa?

Scopri come utilizzare la funzione di filtro in Power Apps e come incorporarla nelle formule esistenti all

Come commentare più righe in Python: una guida semplice e veloce

Come commentare più righe in Python: una guida semplice e veloce

Come commentare più righe in Python: una guida semplice e veloce

Connettori Power Automate: numero, testo e data e ora

Connettori Power Automate: numero, testo e data e ora

Acquisisci familiarità con i connettori Power Automate per la manipolazione di numeri, testo e date/ore.

Budget Vs Actual Vs Last Year - Suggerimenti per la rendicontazione finanziaria

Budget Vs Actual Vs Last Year - Suggerimenti per la rendicontazione finanziaria

Ora, è molto facile studiare il budget rispetto all

Come salvare e caricare un file RDS in R

Come salvare e caricare un file RDS in R

Imparerai come salvare e caricare oggetti da un file .rds in R. Questo articolo tratta anche come importare oggetti da R a LuckyTemplates.

Che cosè Power Query e M Language: una panoramica dettagliata

Che cosè Power Query e M Language: una panoramica dettagliata

Scopri tutto su Power Query e il linguaggio M per la trasformazione e la preparazione dei dati nel desktop di LuckyTemplates.

Cosè il sé in Python: esempi del mondo reale

Cosè il sé in Python: esempi del mondo reale

Cos'è il sé in Python: esempi del mondo reale

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.