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 self
parametro 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 self
variabile 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 self
parametro, dobbiamo prima capire cos'è la programmazione orientata agli oggetti.
Programmazione orientata agli oggetti in Python
Scrittura 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:
Self
non è 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.Self
viene utilizzato come primo parametro nei metodi di istanza per fare riferimento all'istanza corrente della classe.self
per distinguere tra attributi di istanza e variabili locali, rendendo il tuo codice più leggibile e meno difettoso.self
parametro nel __init__()
costruttore e in tutti gli altri successivi costruttori di funzioni nella classe. In caso contrario, il tuo programma lancerà un file typeerror
. 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é
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__()'
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 self
parametro 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
self
name
age
self
name
age
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 self
come 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 self
in 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
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 self
consente 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 self
quando 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 self
per chiamare il show_species
metodo dall'interno del show_info
metodo. Questo ci consente di visualizzare la specie e il colore dell'uccello in un unico richiamo.
Infine, ricorda di utilizzare self
quando 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
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 self
parametro 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 self
quando 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 self
sia 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 self
parametro 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 @staticmethod
decoratore di funzioni esegue l'override del self
parametro requisito nel metodo. In questo modo, la funzione verrà comunque eseguita anche se non viene passata alcuna istanza di oggetto.
Conclusione
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.
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 o 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.
Cos'è il sé in Python: esempi del mondo reale
Imparerai come salvare e caricare oggetti da un file .rds in R. Questo blog tratterà anche come importare oggetti da R a LuckyTemplates.
In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.
Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.
In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.
Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.
Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.
Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.
Se finora utilizzi ancora Excel, questo è il momento migliore per iniziare a utilizzare LuckyTemplates per le tue esigenze di reportistica aziendale.
Che cos'è il gateway LuckyTemplates? Tutto quello che devi sapere