Programmare con Python è sicuramente uno dei modi più utilizzati oggi. Grazie alla sua flessibilità ed ad una vasta community di persone, infatti, è utilizzato in tantissime aziende in tutto il mondo con scopi diversi, permettendo a tantissimi sviluppatori di poterlo utilizzare, nonostante carriere lavorative diverse.
In questo articolo andremo a vedere che tipo di linguaggio sia Python e perché e come differisca da molti altri linguaggi. Vedremo, poi, gli ambiti in cui Python è più impiegato, dove poterlo imparare, come installarlo sulle nostre macchine e, infine, vedremo come si può scrivere un semplice programma.
Che tipo di linguaggio è Python e come differisce dagli altri
Python è un linguaggio di programmazione il cui sviluppo è iniziato nel 1989 ed è dovuto all’informatico olandese Guido van Rossum che lo ha chiamato Python in quanto è un fan della serie televisiva britannica “Monty Python’s Flying Circus”.
Come riporta Wikipedia, “nel 1999, Van Rossum presentò una proposta alla Defense Advanced Research Projects Agency chiamata Computer programming for everybody (programmazione per tutti), in cui definì i suoi obiettivi per Python:
- un linguaggio semplice, intuitivo e potente quanto i suoi maggiori avversari
- codice sorgente aperto, in modo che ognuno avrebbe potuto partecipare al suo sviluppo
- un codice facilmente comprensibile, come l’inglese parlato
- ottimo per i compiti di tutti i giorni, poiché in grado di consentire tempi di sviluppo brevi
Molti di questi punti sono stati già realizzati. Python è cresciuto, diventando un linguaggio popolare, particolarmente nell’ambiente di internet.”
La differenza sostanziale tra programmare con Python e programmare con gli altri principali linguaggi di programmazione simili è che Python è un linguaggio interpretato, mentre la maggior parte dei linguaggi simili è di tipo compilato.
La differenza tra un linguaggio compilato ed uno interpretato sta nel fatto che un linguaggio compilato è rappresentato dal file già scritto in codice binario, ed è quindi riconoscibile da una macchina e, quindi, viene immediatamente eseguito.
In un linguaggio interpretato come Python, invece, il programma è rappresentato dal codice sorgente e ogni volta che viene lanciato viene prima tradotto, e poi compilato. Se da una parte questo rappresenta la vera forza di Python, in quanto il linguaggio è più “user friendly” a livello di programmazione, è anche un po’ il suo tallone d’Achille perché genera un calo di prestazioni nelle macchine, spesso rendendole troppo lunghe nelle tempistiche e rendendo, quindi, Python non adatto in quelle applicazioni dove la reattività è importante.
Infine, programmare con Python è definito ad “alto livello” perché offre un alto livello di astrazione, favorendo la scrittura del codice rispetto ad altri linguaggi di programmazione di basso livello.
In altre parole, questo significa che gli sviluppatori possono scrivere codice Python utilizzando concetti e costrutti vicini al linguaggio naturale, senza doversi preoccupare di dettagli di basso livello come l’allocazione della memoria o le registrazioni del processore. Questo rende Python il perfetto linguaggio per chi vuole imparare a programmare.
Un esempio? Se voglio scrivere una variabile “age” per indicare la mia età posso scrivere:
age = 33
In altri linguaggi di programmazione, specie quelli compilati, non sarebbe così.
Per esempio, per dichiarare la stessa variabile in C++ dovremmo scrivere così:
#include <iostream>
int main() {
int age = 33;
// other commands or operations
return 0;
}
Code language: PHP (php)
Ed ecco che, immediatamente, si può vedere la semplicità di Python rispetto ad un linguaggio di programmazione compilato.
Che cosa si può fare con Python
Bene, ma che cosa si può fare esattamente quando si programma con Python?
La forza di Python sta nel fatto di essere un linguaggio flessibile ed adatto a diverse tipologie di problemi e situazioni. In alcuni casi, questa sua flessibilità è anche il suo tallone di Achille, come abbiamo detto. Ma d’altra parte, come è ovvio, non esiste uno strumento ottimale per risolvere qualsiasi problema: esistono strumenti specifici per problemi specifici, anche se strumenti generici possono dare un buon grado di risoluzione di un problema.
Ad ogni modo, vediamo gli ambiti in cui Python è largamente utilizzato con ottimi risultati:
- Automazioni. Grazie alla sua flessibilità ed ad una vasta community di sviluppatori che creano tantissime librerie ed aiutano anche nel supporto, Python è il linguaggio perfetto per realizzare delle automazioni. Un esempio di automazione? Immaginiamo di avere una cartella con centinaia di file in diversi formati: immagini, documenti PDF, documenti in word, ecc…Con Python potremmo scrivere un programma che legge l’estensione dei file e li mette tutti in sottocartelle chiamate “PDF”, “immagini”, ecc…
- Sviluppo del Back End di applicazioni. Anche se, lato Back End, Python ha un po’ di rivali, è comunque un linguaggio utilizzatissimo da molte aziende in tutto il mondo per sviluppare la parte Back End di molte applicazioni web. Python, infatti, ha molti framework. Lato Back End, i più utilizzati sono: “Flask” e “Django”.
- Analisi dati, Machine Learning, ed IA. Grazie alla moltitudine di librerie e framework, Python è oggi il linguaggio perfetto – e anche il più utilizzato – nell’analisi dei dati e nel Machine Learning. Librerie come `Pandas` sono ottimali per l’analisi dei dati, e `scikit-learn` per il Machine Learning. Ci sono poi diversi framework per il Machine Learning ed il Deep Learning come `PyTorch` e `TensorFlow`.
Come e dove imparare a programmare con Python gratis (o quasi)
Data la flessibilità e la relativa facilità di scrittura, programmare con Python è sicuramente il modo perfetto per iniziare ad imparare a programmare.
Inoltre, essendo utilizzato da moltissime aziende ed in ambiti diversi, come abbiamo visto, la voglia di impararlo può essere sicuramente tanta per moltissime persone. Anche – perché no – nell’ottica di un cambio di carriera.
Ad oggi, esistono diverse soluzioni online per poter imparare Python gratuitamente (o quasi). Ne linkiamo alcune:
- “Learn Python” e “tutorials point” sono due siti in cui è possibile imparare Python gratuitamente, ed hanno anche un minimo di percorso di studi da poter seguire. Se invece preferisci i video, puoi fare riferimento al sito “Python programming”. Naturalmente, anche YouTube è intriso di tutorials gratuiti, ma difficilmente hanno un percorso di studi che possa essere seguito.
- “Medium”. Medium è una piattaforma di scrittura che ha un costo per gli abbonati di 5$/mese ed in cui si trovano un sacco di tutorials su Python, per tutti (sia per principianti che no) e di tutte le tipologie (automazioni, Back End, Machine Learning, ecc…).
- “Udemy”. Udemy è un’ottima piattaforma in cui, per poche decine di euro, si possono seguire dei corsi su Python per tutti e di tutte le tipologie. E’ ottimale perché fornisce un percorso da seguire dall’inizio alla fine.
Come installare Python sul tuo PC
Esistono diverse modalità per installare Python su un PC. Vediamone un paio.
Come installare Python su Windows, macOS, e Linux
Per installare Python su una macchina Windows o macOS è sufficiente collegarsi a questo sito, scaricare l’ultima versione, ed installarla come fosse un normale programma.
Per macchine Linux si può scaricare l’ultima versione dal sito indicato sopra oppure si può utilizzare il terminale come di seguito:
$ sudo apt update
$ sudo apt install python3
Ora, il “problema” di questo approccio è che, in questo modo, sulle nostre macchine installeremo solo Python. Una volta presa confidenza con linguaggio di programmazione, però, quando dovremo utilizzare librerie che non sono comprese in quella standard, dovremo andare ad installarle una ad una.
Per evitare questo, una soluzione è quella di installare Anaconda sul PC: in questo modo, oltre ad installare Python, andremo ad installare tutte le librerie più utilizzate in ambito analisi dati e Machine Learning, ma anche tantissime librerie utilizzate in altri ambiti.
Articolo consigliato: Apprendimento Non Supervisionato in Python – Una Introduzione alle Tecniche di Clustering per Scoprire i Pattern
Come installare Anaconda su Windows, macOS, e Linux
Per tutti e tre i sistemi operativi, per installare Anaconda è sufficiente collegarsi a questo link e scaricare il pacchetto all’ultima versione aggiornata.
Come scrivere un programma in Python
In precedenza in questo articolo abbiamo scritto un programma Python. In particolare, anche se il programma non fa nulla di eclatante, fa comunque una cosa importante: salva in memoria che il valore della variabile “age” è 33.
Adesso, per il solo piacere di vedere la semplicità di Python, scriviamo un piccolo programma.
Per esempio, immaginiamo di avere una lista di frutti. Vogliamo che il nostro programma prenda in considerazione tutti i frutti e stampi a video la frase: “I love <fruit>” col nome di tutti i frutti.
Si può fare così:
# Create a list of fruits
fruits = ["banana", "apple", "pear"]
# Iterate over the list
for fruit in fruits:
# Print phrase
print(f"I love {fruit}")
>>>
I love banana
I love apple
I love pear
Code language: PHP (php)
Quindi, in modo molto semplice ed intuitivo:
- Abbiamo creato una lista “fruits” che contiene il nome di alcuni frutti
- Abbiamo creato una variabile ausiliaria “fruit” che, tramite il “ciclo for”, itera su tutti gli elementi della lista “fruits”
- Abbiamo, infine, stampato la nostra frase per tutti gli elementi della lista col comando `print()`
Scopri come creare un console emulator con Python qui!
Conclusioni
In questo articolo abbiamo visto che Python è un linguaggio di programmazione impiegato in ambiti molto diversi tra loro, che spaziano del Back End al Machine Learning.
Abbiamo visto, infine, come grazie alla sua sintassi semplice, sia possibile scrivere un programma che è intuibile anche dai non addetti ai lavori nel settore dello sviluppo.