login LOGIN
CHIUDI chiudi
Il mio profilo

mostra
Hai dimenticato la password?
Inserisci l'indirizzo email di registrazione per reimpostare la password.
Segui le istruzioni che ti abbiamo inviato per posta elettronica.

Python e la programmazione ad oggetti

Python è uno dei linguaggi di programmazione più usati al mondo per moltissime tipologie di applicazioni. Come funziona l’Object-Oriented Programming, OOP

L'elegante sintassi, la digitazione dinamica e la natura interpretata rendono Python un linguaggio di programmazione ideale per lo sviluppo rapido di applicazioni in svariati ambiti: dal web al desktop, dai videogiochi allo scripting di sistema. Inoltre, grazie alla vastissima community di sviluppatori, è molto facile trovare online esempi e consigli utili.

Progettato affinché fosse semplice (da apprendere, utilizzare e capire) e strutturato con una sintassi semplice, chiara e lineare, Python è unlinguaggio multi-paradigma, che supporta sia la programmazione procedurale (che fa uso delle funzioni), sia la programmazione ad oggetti (includendo funzionalità come l'ereditarietà singola e multipla, l'overloading degli operatori, e il duck typing). Inoltre, supporta diversi elementi della programmazione funzionale (come iteratori e generatori).

Le caratteristiche più riconoscibili di Python sono la tipizzazione dinamica delle variabili (nel senso che non devono essere dichiarate in anticipo, ma solo al momento dell'esecuzione del codice appena scritto, in runtime) e l'uso dell'indentazione per la sintassi delle specifiche, al posto delle più comuni parentesi. La priorità logica delle operazioni da eseguire è determinata dal numero di spazi presenti all'inizio della riga contenente il comando.

  • 1. La programmazione a oggetti: i vantaggi
    Python logo

    Shutterstock

    Mentre nella programmazione procedurale le funzioni (o procedure) sono l'elemento organizzativo principale, nella programmazione ad oggetti (anche conosciuta come OOP, ovvero Object-Oriented Programming) a fare da padroni sono gli oggetti. Il loro vantaggio è quello di racchiudere in un'unica unità organizzativa sia i dati (attributi) che i metodi (operazioni disponibili). 

    Le seguenti ragioni spiegano perché optare per l’uso della programmazione orientata agli oggetti in Python.

    Tutti i linguaggi di programmazione moderni la usano. Questo paradigma è indipendente dalla lingua. Se imparate l’OOP in Python, sarete in grado di usarlo anche in: Java; PHP; Ruby; Javascript: C#; Kotlin. Tutti questi linguaggi sono nativamente orientati agli oggetti o includono opzioni per funzionalità orientate agli oggetti. Se volete imparare uno di questi dopo aver appreso Python, sarà più facile perché troverete molte somiglianze tra i linguaggi che lavorano con gli oggetti.

    Permette di codificare più velocemente. Codificare più velocemente non significa scrivere meno righe di codice, ma che potete implementare più funzioni in meno tempo senza compromettere la stabilità di un progetto. La programmazione orientata agli oggetti permette di riutilizzare il codice tramite il concetto dell’astrazione, il che rende il codice più conciso e leggibile.

    Aiuta ad evitare il “codice spaghetti”. Se continuate ad aggiungere funzioni, in futuro avrete molte dichiarazioni if annidate. Questo groviglio di linee di codice infinite è chiamato codice spaghetti, e si dovrebbe evitare il più possibile. OOP ci dà la possibilità di comprimere tutta la logica in oggetti, evitando così lunghi pezzi di if annidati.

    Migliora l’analisi di qualsiasi situazione. Una volta acquisita un po’ di esperienza con l’OOP, sarete in grado di pensare ai problemi come a piccoli e specifici oggetti. Questa comprensione porta a una rapida inizializzazione del progetto.

  • 2. Come creare classi e oggetti: un esempio pratico
    Python come creare oggetti

    Screenshot Fastweb Plus

    La classe, nei linguaggi di programmazione, è un tipo di dato che serve a rappresentare un'entità astratta e viene utilizzato come modello per creare un oggetto. Ogni modello definisce attributi e metodi che possono essere utilizzati dagli oggetti.

    Mettiamo ad esempio che vogliamo rappresentare tramite una classe un cane: come attributi potremmo definire nome e razza; come metodi possiamo definire delle funzionalità di base, come mangia e abbaia.

    L'oggetto è un'istanza univoca di una classe ed ha accesso ai suoi attributi e metodi. In Python per creare un oggetto basta indicare il nome della classe a cui si riferisce e tra le parentesi tonde passare (se ci sono) i parametri che richiede il costruttore (nel nostro caso nome e razza).

  • 3. Come inserire un nuovo oggetto
    Python inserire oggetti

    Screenshot Fastweb Plus

    Andiamo ora a istanziare qualche oggetto di tipo cane in Python. Fin qui abbiamo istanziato tre oggetti dalla classe Cane e possiamo utilizzare i loro attributi e metodi con estrema facilità. Per come è definito il metodo mangia(), possiamo potenzialmente dar da mangiare ai nostri cani fino all'infinito, il che non è molto salutare. Per impedire che ciò accada, possiamo implementare un semplice sistema che regola l'appetito dei nostri cagnolini.

  • 4. Come definire un nuovo metodo
    Python definire un metodo

    Screenshot Fastweb Plus


    Possiamo definire un nuovo metodo che stabilisce se il nostro cane ha appetito, dopodichè andiamo a modificare il metodo mangia() e come prima cosa verifichiamo se il nostro animale a quattro zampe ha appetito. Infine, se il cane ha appetito, lo facciamo mangiare e diminuiamo di 1 l'appetito, altrimenti non facciamo nulla. Aggiungiamo ora il metodo corri() per fare stancare il cane.

    Per saperne di più: Cosa si può fare con Python

    I Tech-Quiz di Mister Plus

    0/ 0
    Risposte corrette
    0' 0"
    Tempo impiegato
    Vai alla classifica
A cura di Cultur-e
Addestramento IA non consentito: É assolutamente vietato l’utilizzo del contenuto di questa pubblicazione, in qualsiasi forma o modalità, per addestrare sistemi e piattaforme di intelligenza artificiale generativa. I contenuti sono coperti da copyright.
TecnologicaMente
Sei un Multitasking Master o un Procrastinatore Pro?
Immagine principale del blocco
Sei un Multitasking Master o un Procrastinatore Pro?
Fda gratis svg
Fai il test sulle abitudini di lavoro e studio con la tecnologia
Fai il test gratuito

Iscriviti
all'area personale

Per ricevere Newsletter, scaricare eBook, creare playlist vocali e accedere ai corsi della Fastweb Digital Academy a te dedicati.