Tempo di lettura stimato: 5 minuti
Recentemente sul nostro canale YouTube di Data Analytics Ireland, abbiamo lavorato duramente per migliorare i nostri contenuti video e la consegna. Nell'ambito di questo processo, abbiamo anche cercato modi per comprendere le classi e utilizzarle in modo più efficiente.
In molti linguaggi di programmazione e sviluppo web, troverete l'uso di classi, quello che imparate qui può aiutarvi anche in quelli.
In come creare una classe in Python abbiamo fornito un video tutorial dei passi coinvolti in Python su come implementare una classe nel vostro progetto.
Qui, in questo post del blog, passeremo attraverso i diversi aspetti delle classi e forniremo un esempio pratico di programmazione orientata agli oggetti.
Inoltre, quando si creano oggetti, può aiutare a gestire e ridurre il codice che si deve scrivere.
Prima di iniziare, la prima domanda che dovremmo porci è: cos'è una classe?
Secondo il sito web ufficiale di Python "Le classi forniscono un mezzo per unire insieme dati e funzionalità".
Quindi, in sostanza, ciò che stanno realmente dicendo è che definiscono una classe come la centralizzazione di informazioni e funzionalità intorno ad un oggetto python.
Oggetti di Pitone
Quindi come potremmo descrivere un oggetto? Un oggetto è qualsiasi cosa che può avere attributi attaccati ad esso e che ha qualche funzionalità che permette all'oggetto di funzionare.
La maggior parte degli oggetti avrà dei metodi associati a loro, e questi sono la funzionalità dell'oggetto. Quindi facciamo un passo indietro un secondo e mostriamo questo in un pezzo di codice:
"Car " sopra è l'oggetto classe, e ha gli attributi di tipo, colore, ruote e porte. Altri attributi possono essere aggiunti in qualsiasi momento. Quindi potreste aggiungere perché è importante iniziare a strutturare in questo modo?
La risposta pura e semplice è l'organizzazione!
Il motivo alla base di questo modo è che, poiché l'auto e i suoi dettagli sono tutti in un unico posto, essa incoraggia:
- Coerenza - tutto ciò che riguarda un'auto è documentato in un unico luogo.
- Nessuna duplicazione - Se si faceva riferimento all'auto oggetto in più punti del proprio codice, per ogni aggiornamento, bisognava cambiarlo in ogni punto, rende gli aggiornamenti lunghi e più difficili da ricordare dove lo si metteva nelle diverse parti del programma del computer.
- Può essere chiamato da qualsiasi luogo - Dato che abbiamo una versione dell'auto oggetto, ora in qualsiasi punto del nostro codice possiamo chiamarlo e usare i suoi attributi, dato che c'è solo una versione rende il programma molto più facile da gestire.
Metodi e funzioni
Ora che abbiamo visto gli attributi, che dire del metodo della classe e delle funzioni che possono essere contenute in essi?
I metodi e le funzioni opereranno come qualsiasi altro metodo o funzione, ma la differenza quando si tratta di oggetti è:
Sono specifici per quell'oggetto!
Nel codice di cui sopra, vedrete che ci sono tre metodi, e tutti sono specifici per l'auto oggetto.
Ad esempio, non ci si aspetterebbe di vedere alcun metodo che riguardi
- pompando le ruote.
oppure
- cambiare una lampadina.
solo perché questo oggetto auto si occupa solo della funzionalità dell'auto.
Per costruire sul mio punto di cui sopra intorno a nessuna duplicazione, se questo oggetto non è stato creato, quest'ultimo pezzo di codice:
- potrebbe dover essere mantenuto e duplicato un certo numero di volte all'interno del proprio codice, è qui che le classi entrano in gioco.
Quindi, diciamo che voglio usare la classe e i suoi attributi, come potrei farlo?
Nella sezione 9 .3.5. Variabili di classe e di istanza sulle classi Python, si afferma quanto segue:
Le variabili delle istanze sono per i dati unici per ogni istanza e le variabili di classe sono per gli attributi e i metodi condivisi da tutte le istanze della classe:
Ovunque nel vostro codice, tutto quello che dovete fare è creare una variabile ed eguagliarla alla classe, vedi sotto.
Le linee 22,23,24, chiamano il metodo a cui fanno riferimento che è salvato nella classe, e le loro rispettive funzionalità.
Come si può vedere, le righe 25,26,27,28 portano tutte gli attributi della classe da usare, mettendoli sotto il metodo "def__init__".
Ed ecco il risultato di quanto detto sopra. Dopo aver avviato la classe, abbiamo assegnato i suoi attributi in una nuova variabile.
Ed ecco che abbiamo inizializzato la classe Car e usato i suoi attributi e metodi al di fuori della classe nella nostra programmazione regolare,
Di conseguenza, questo potrebbe essere fatto ovunque nel nostro programma, più volte, ma dovendo usare solo una classe.
Potete vedere come funziona qui sotto: