Cos’è Python e come funziona: introduzione al linguaggio

Python è un linguaggio di programmazione di alto livello, interpretato e general purpose.

Si tratta di un linguaggio con tantissime librerie, flessibile, dalla sintassi semplice e che ha tantissime applicazioni nel campo dello sviluppo software.

Supporta vari paradigmi di programmazione, tra cui quella a oggetti, che vedremo più avanti.

Viene usato per sviluppare web applications, applicazioni desktop e mobili. Viene ampiamente utilizzato nel settore del machine learning, data science, AI e nell’automazione.

Tramite la comunicazione seriale è possibile interfacciare Python con Arduino: il micro-controllore per eccellenza per i principianti nel mondo dell’elettronica e dell’automazione.

Grazie alla sua sintassi semplice e alla presenza di tantissime librerie, Python è un linguaggio che permette di sviluppare software riducendo tempi e costi.

È uno dei linguaggi preferiti per chi inizia a programmare. Uno sviluppatore alle prime armi apprezzerà Python per la sua semplicità: inizierà a scrivere codice dando vita ai primi programmi e avrà modo, dopo poco tempo, di provare strumenti avanzati per iniziare ad approfondire concetti medio-avanzati.

Ora vediamo questi e altri punti nel dettaglio sul linguaggio Python.

Un linguaggio di alto livello e interpretato

Python è un linguaggio di alto livello. Significa che è molto vicino al linguaggio umano, per cui è di facile comprensione e scrittura.

Questo è possibile grazie alle numerose astrazioni che rendono la scrittura di un programma in Python molto simile alla scrittura di un testo in inglese.

Dopotutto, questa caratteristica la ritroviamo in tutti i linguaggi di alto livello. Ma alcuni sono più semplici da scrivere rispetto ad altri. Python è tra quelli più semplici.

I linguaggi ad alto livello vengono distribuiti con una vasta gamma di funzioni per gestire stringhe, numeri, array e altri aspetti della programmazione. Questo senza dover installare librerie esterne.

Quindi oltre ad scrivere codice in modo semplice con un linguaggio che ricorda quello umano in inglese, si hanno tantissime funzioni già pronte all’uso.

Inoltre Python è un linguaggio interpretato. Questo significa che c’è un interprete, chiamato CPython, che interpreterà il codice riga per riga eseguendolo.

Non ci sarà una fase di compilazione per poi eseguire il codice, com’è invece nel caso dei linguaggi compilati.

Applicazioni nello sviluppo software

Python è un linguaggio general-purpose molto flessibile, infatti ha tantissime applicazioni nel campo dello sviluppo software.

In particolare viene usato nei seguenti settori:

Nel campo dello sviluppo web, è molto interessante l’utilizzo di Python su Gunicorn come WSGI (Web Server Gateway Interface) HTTP su web server come NGINX.

Inoltre, è possibile usare il linguaggio SQL con Python per eseguire query su database.

Nonostante la flessibilità di Python e la presenza di numerose librerie, non è detto che sia la soluzione a tutto.

Ad esempio, per elaborare pagine web dinamiche è bene considerare altri linguaggi server side come PHP, su cui ho scritto una guida.

L’errore che fanno in molti è considerare un linguaggio la soluzione in senso assoluto scartando tutto il resto.

Questo è un modo di ragionare fallato non sostenibile nel lungo periodo. Si tratta di un pensiero frutto di Bias da rivedere al più presto per ragionare in modo più oggettivo e con un senso critico più ampio.

Un linguaggio di programmazione è uno strumento (o ecosistema considerando anche le varie librerie, frameworks e communities). Quindi bisogna elaborare una soluzione scegliendo più strumenti.

Nella scelta di uno stack di sviluppo, mi è capitato di dover usare PHP come linguaggio principale per l’elaborazione di pagine web dinamiche e Python come linguaggio per creare API che fornissero micro e macro servizi.

Questo è un esempio in ambito web in cui Python viene usato per colmare vuoti del linguaggio principale attraverso potenti librerie di elaborazione dati.

Paradigmi di programmazione

Scrivendo codice in Python è possibile programmare nei seguenti paradigmi:

  • Programmazione funzionale
  • Programmazione a oggetti
  • Programmazione imperativa

Sintassi e tipi di dati

La sintassi di Python è molto semplice. La sensazione che si ha quando si legge del codice in questo linguaggio è quella di leggere un testo in inglese.

Per i cicli (loop) e i blocchi condizionali (if) viene usata l’indentazione significativa.

I tipi di dati in Python sono: stringhe, interi, decimali, booleani, tuple, dizionari, liste e tipi binari (bytes, bytearray, memoryview).

Inoltre non è necessario dover dichiarare il tipo di dato perché lo determinerà Python durante l’esecuzione del programma (runtime).

Python e Arduino

Con Python è possibile ricevere input da Arduino o inviarli tramite la comunicazione seriale.

Combinando la potenza di Python e la versatilità di Arduino è possibile creare progetti incredibili che possono avere applicazioni reali significative.

Perché usare Python

Iniziare a programmare con Python è davvero semplice. Imparare la sua sintassi non richiede molto tempo.

Inoltre sono presenti davvero tante librerie che permettono di fare grandi lavori con il minimo sforzo.

Basti pensare a due librerie come OpenCV e MediaPipe che forniscono potenti strumenti nel settore della computer vision.

Oppure a NumPy o SymPy, due librerie ricche per effettuare calcoli in ambito matematico, risoluzione di matrici, algebra lineare, equazioni e molto altro.

Versioni

Python è stato sviluppato da Guido van Rossum nel 1991 rilasciando la versione 0.9.0 e attualmente, nel 29 novembre 2023, si trova alla versione 3.12.

Per il mese di Gennaio 2024 è previsto il rilascio della versione 3.13.

Le due versioni principali di Python sono la serie di versioni Python 2.x e Python 3.x.

La versione 2.0 è stata rilasciata nel 2000, questa è stata poi abbandonata nel 2020 con la versione 2.7.18.

Python 3.0 è stato rilasciato nel 2008 e tutt’ora, nel 2023, continua a essere aggiornato. Quindi è fondamentale utilizzare le ultime versioni di questo linguaggio.

In ogni caso è possibile consultare le varie versioni di Python sul sito ufficiale conoscendo anche quali saranno le date di EOL (End-of-Life, letteralmente “fine della vita“) di quella versione per prepararsi a un’eventuale aggiornamento del linguaggio.

Librerie principali

Ecco una lista di alcune potenti librerie che potrai utilizzare in Python:

Per installare una libreria è molto semplice: basta utilizzare il comando “pip install nome-libreria” sul terminale.

Framework per Python: PyTorch, Django, Flask, AIOHTTP, Circuits, Dash, FastAPI.

Progetti con Python e video

Con Python ho realizzato vari progetti, ne ho fatti anche integrando Arduino.

Iniziare a programmare con Python

Se sei arrivato fin qui sicuramente ti sarà venuta la voglia di iniziare a programmare con Python per sprigionare tutta la sua potenza.

Ma per poter iniziare a programmare con questo fantastico linguaggio di programmazione devi seguire in ordine questi miei articoli:

  1. Installare Python sul tuo computer in linea con il tuo sistema operativo
  2. Configurare Python per Visual Studio Code in pochi minuti
  3. “Hello, World” con Python, scrivi il tuo primo programma!

Si tratta di tre semplici step dopo i quali potrai iniziare a scrivere i tuoi primi programmi.