Una guida per principianti alla programmazione orientata agli oggetti di Python
Python è utilizzato in tutto, dal Raspberry Pi all'apprendimento automatico. Se si vuole lavorare su qualsiasi progetto di grandi dimensioni, tuttavia, è necessario sapere come Python funziona con la programmazione orientata agli oggetti (OOP). Questo articolo tratterà le nozioni di base che devi conoscere.
Se non stai veramente programmando, perché non dare un'occhiata ai migliori schizzi di Monty Python invece di 8 dei migliori sketch di Flying Circus di Monty Python [Stuff to Watch] 8 dei migliori sketch di Flying Circus di Monty Python [Stuff to Watch] Very poche altre compagnie di commedie hanno rotto il terreno tanto nuovo quanto fece Monty Python quando furono trasmesse per la prima volta alla BBC nel 1969. Non solo l'umorismo era fresco, ben fatto e molto, molto ... Per saperne di più? Hanno ispirato la lingua, dopotutto!
Aspetta, Python's Not a Real Language?
Diamo una cosa chiara: Python è un vero linguaggio di programmazione, è popolare ed è in rapida crescita. Solo perché si legge come pseudocodice e puoi codificare Minecraft sul Pi con esso. Impara Python ed Electronics con Minecraft Pi Edition. Impara Python ed Electronics con Minecraft Pi Edition Hai sempre desiderato imparare a programmare ma non sapevo da dove cominciare? Scopri come controllare Minecraft sul Raspberry Pi usando Python e alcuni semplici dispositivi elettronici. Per saperne di più, ciò non significa che dovresti scartarlo come una lingua minore.
OOP è la pietra angolare del moderno sviluppo del software e Python è più che in grado di tenere il passo. Potrebbe fare una o due cose in modo diverso rispetto alle altre lingue tradizionali, ma non lasciatevi scoraggiare.
Questo tutorial assumerà una conoscenza di base di Python, ma copriremo tutte le cose complesse lungo il percorso. Se sei nuovo in Python, perché non guardare questi trucchi per imparare un nuovo linguaggio di programmazione 7 Trucchi utili per padroneggiare un nuovo linguaggio di programmazione 7 Trucchi utili per padroneggiare un nuovo linguaggio di programmazione Va bene essere sopraffatti quando si sta imparando a programmare. Probabilmente dimenticherai le cose così velocemente come le impari. Questi suggerimenti possono aiutarti a conservare meglio tutte le nuove informazioni. Per saperne di più, o per un semplice progetto come leggere e scrivere su Fogli Google con Python Come leggere e scrivere su Fogli Google con Python Come leggere e scrivere su Fogli Google Con Python Python può sembrare strano e insolito, tuttavia è facile per imparare e usare. In questo articolo, ti mostrerò come leggere e scrivere su Fogli Google usando Python. Leggi di più ?
Prerequisiti e installazione di Python
Prima di iniziare, potresti voler installare il tuo ambiente di sviluppo Python. Useremo Python 3.6.5 e, sebbene tu possa utilizzare versioni precedenti, avrai meno problemi a seguire se utilizzi una versione abbastanza nuova.
Vorresti creare un ambiente virtuale Impara come usare l'ambiente virtuale Python Impara come usare l'ambiente virtuale Python Se sei uno sviluppatore Python esperto, o sei appena iniziato, imparare come configurare un ambiente virtuale è essenziale per qualsiasi progetto Python. Leggi di più se non ne hai già uno, e installa PIP per Python Come installare PIP per Python su Windows, Mac e Linux Come installare PIP per Python su Windows, Mac e Linux Molti sviluppatori Python si affidano a uno strumento chiamato PIP per Python per rendere tutto molto più semplice e veloce. Ecco come installare PIP. Leggi di più se non è installato (viene fornito con la maggior parte delle installazioni moderne di Python). Una volta ottenuti questi setup, sarai pronto per partire. Iniziamo!
The Basics of Python: Classes
UN classe è il componente base di OOP. Una classe è come un piano o un progetto. Definiscono le caratteristiche di un oggetto Cos'è la programmazione orientata agli oggetti? Le nozioni di base spiegate nei termini di Layman Che cos'è la programmazione orientata agli oggetti? Le nozioni di base spiegate nei termini di Layman I linguaggi di programmazione più moderni supportano il paradigma "programmazione orientata agli oggetti" (OOP). Ma cos'è esattamente OOP e perché è così utile? Leggi di più . Se si dispone di una classe di auto, ad esempio, si può affermare che ci sono quattro ruote, almeno un sedile e un motore.
Ecco come creare una classe in Python:
class Vehicle: "" "Questa classe definisce i veicoli." "" pass
Semplice, giusto? Ci sono alcune cose che succedono qui. Si noti il commento in cima alla classe. Questo è un commento speciale chiamato a docstring. Dovrebbe spiegare un po 'del tuo codice. Usando le virgolette triple (“””), stai dicendo a Python che questa è una docstring.
Il passaggio parola chiave dice a Python di fare a nulla. È una parola speciale, e puoi pensarla come un todo. Farà funzionare il tuo codice, ma in realtà non fa nulla.
Se esegui questo codice, vedrai che non succede nulla. Devi istanziare tu classe. Questo significa in effetti andare e costruire un oggetto basato sul piano definito nella classe. Puoi creare tutte le copie che vuoi, ciascuna con proprietà diverse. Ecco come lo fai:
red_car = Veicolo ()
Se lo fai di nuovo, vedrai che non succede nulla. Il codice funziona correttamente, ma non ti è stato detto di fare qualcosa di evidente. Il Veicolo la classe definisce i progetti per un veicolo, e questa ultima linea crea un oggetto veicolo e gli dà un nome auto rossa.
È possibile creare tutti gli oggetti che vuoi:
red_car = Vehicle () green_car = Vehicle () blue_car = Vehicle ()
Aggiungiamo un altro codice. Aggiungi un metodo chiamato __dentro__ al Veicolo classe:
class Vehicle: "" "Questa classe definisce i veicoli." "" def __init __ (self, color = "plain"): "" "Imposta alcune proprietà personalizzate" "" print ('New car made!') self.color = color red_car = Vehicle () green_car = Vehicle () blue_car = Vehicle ()
Prestare particolare attenzione a questo __dentro__ metodo. Deve iniziare e finire con due underscore. Questo è un metodo speciale in Python. Viene chiamato automaticamente quando si crea un nuovo oggetto. L'esecuzione di questo codice mostrerà le parole “Nuova macchina fatta!” tre volte.
Finalmente, __dentro__ prende un argomento personalizzato chiamato colore. Il segno di uguale e la stringa immediatamente successiva indicano a Python di impostare il colore “pianura” se non specificato Puoi modificare le tue istanze per impostare il colore della tua auto alla creazione:
red_car = Veicolo (colore = 'rosso') green_car = Veicolo (colore = 'verde') blue_car = Veicolo (colore = 'blu')
Se stampi il colore dell'auto, vedrai che ogni istanza ha un colore diverso, anche se tutti e tre sono stati creati con le stesse specifiche (la classe). Python ti permette di accedere a quasi tutte le variabili o gli oggetti, non molte altre lingue ti permettono di fare questo:
stampa (red_car.color) print (green_car.color) print (blue_car.color)
Funziona perché hai assegnato colore a self.color. Il sé è un'altra parola chiave speciale in Python e si riferisce a ciascuna istanza specifica di una classe. Ogni volta che usi te stesso, puoi impostare o accedere ai dati univoci per quell'istanza. La macchina rossa ha un colore rosso, per esempio.
Modifica il tuo __dentro__ metodo per memorizzare il rumore dell'automobile in una variabile:
self.noise = 'Vroooom'
Per stampare il rumore dell'auto, puoi semplicemente accedere a rumore variabile, come hai fatto con il colore, ma questa non è l'idea migliore. Cosa succede se, quando guidi un'auto, vuoi che venga eseguito un altro codice contemporaneamente, magari un codice che non hai ancora scritto? O se vuoi cambiare il modo in cui una macchina guida in futuro? Creando un funzione (noto anche come a metodo), puoi controllare attentamente come funzionano le cose. Aggiungi questo sotto il tuo __dentro__ metodo:
def drive (self): print (self.noise)
Puoi chiamare questo metodo abbastanza semplicemente:
red_car.drive ()
Ogni volta che chiami il guidare metodo, Python stamperà il suono. È possibile espandere questo per eseguire tutte le maniere di compiti, ma lasciarlo come è per ora.
Molto bene! Ormai dovresti avere una salda presa sulle basi. Dovresti essere in grado di creare e utilizzare le tue classi, ognuna con le proprie abilità e funzioni uniche.
Che dire delle variabili private in Python?
Gli oggetti privati sono molto comuni nella maggior parte delle altre lingue. Sono semplicemente variabili o funzioni a cui non è possibile accedere al di fuori della classe. Possono essere codice che richiede condizioni speciali da soddisfare prima dell'uso o semplicemente progettato per uso interno. Qualunque sia la ragione, le istanze non possono accedere ai membri privati ... a meno che non si stia codificando in Python.
Python non ha membri privati. Invece, Python si basa su un sistema di onore: “Siamo tutti adulti consenzienti.” I programmatori Python capiscono che potresti voler armeggiare con le parti sensibili di una classe, e va bene, quindi niente dovrebbe mai essere veramente inaccessibile.
Tuttavia, Python ha una convenzione accettata per contrassegnare alcune variabili come “privato” nel senso di “Questa variabile è per uso interno e probabilmente non è necessario toccarla.” La convenzione deve prefisso i nomi delle variabili con un trattino basso:
_some_secret_variable = 42
Questo funge da avvertimento per altri programmatori. Python non ti impedirà di accedere a questo, ma il trattino basso ti avverte che questo non è stato progettato per essere usato in questo modo, e dovresti continuare a tuo rischio.
A volte è il modo Python di armeggiare con cose nascoste, ma corri il rischio che le cose non funzionino correttamente.
Comprensione dell'ereditarietà in Python
L'ereditarietà è un altro modo per ridurre la duplicazione e il riutilizzo del codice. Pensando a una relazione genitore e figlio, l'ereditarietà consente bambino condividere codice comune con il genitore. Implementiamo un'auto elettrica, che eredita dal genitore.
Aggiungi questo codice sotto il tuo Veicolo classe:
classe ElectricCar (Veicolo): "" "Classe di veicoli elettrici." "" carica di def (auto): stampa ('Zzz') electric_car = ElectricCar () electric_car.charge () electric_car.noise = 'Whoosh' electric_car.drive ()
Dopo il Macchina elettrica è definito, il Veicolo la classe è specificata all'interno di due parentesi. Questo dice a Python Macchina elettrica è un figlio di Veicolo. Questo dà accesso a tutti i dati e i metodi forniti in Veicolo.
L'auto elettrica ha i suoi metodi speciali. Può caricare (qualcosa che altri veicoli non possono fare). Cambiando il rumore dell'auto, e poi guidando, puoi vedere che l'auto elettrica emette un suono diverso e non è necessario definire il metodo di guida. Questo perché l'unità è ereditata dal genitore.
Espandi ulteriormente la tua conoscenza di Python
Questi esempi hanno dimostrato quanto sia facile OOP essere in Python. Abbiamo appena coperto solo le basi fondamentali, ma una volta che le hai ridotte, il resto è facile.
Se stai cercando di continuare ad apprendere Python, o magari mettere in pratica queste abilità OOP, perché non dare un'occhiata alle matrici e agli elenchi in Python, o perché ottenere Python e JavaScript per comunicare?
Se tutto questo ti ha lasciato di più, allora non dimenticare di dare un'occhiata a questi migliori siti Web per imparare Python I 5 migliori siti web per imparare la programmazione Python I 5 migliori siti web per imparare la programmazione Python Vuoi imparare la programmazione Python? Ecco i modi migliori per imparare Python online, molti dei quali sono completamente gratuiti. Leggi di più .
Scopri di più su: Programmazione orientata agli oggetti, programmazione, Python.