
Alcune statistiche mostrano che Python è diventato il linguaggio di programmazione più popolare al mondo. Quindi cosa dà a Python il suo fascino universale? Diamo uno sguardo ad alcune delle caratteristiche di questo linguaggio versatile e potente.
Python: è il numero uno
Python ha 30 anni ed è più forte che mai. Al momento in cui scriviamo è il linguaggio di programmazione più utilizzato al mondo, avendo superato Java e C. Ciò è ancora più impressionante perché Python è considerato un linguaggio di programmazione generico. Non è sempre un buon titolo da avere. Il vecchio detto sull’essere un tuttofare ma non padrone di nessuno potrebbe applicarsi. Fortunatamente, con Python, non si applica.
Python è utilizzato in tutto il mondo, dallo sviluppo web all’intelligenza artificiale, dallo sviluppo di giochi all’analisi dei dati. È preinstallato sulla maggior parte delle distribuzioni Linux ed è disponibile per tutti i sistemi operativi più diffusi.
Python è stato scritto da Guido van Rossum come un progetto per hobby, a partire dal dicembre 1989. Era completamente funzionante il 20 febbraio 1991 ed è stato reso generalmente disponibile, come open-source, nel 1992. Rossum ha scelto il nome Python per la sua apprezzamento per una serie televisiva della BBC chiamata Il circo volante dei Monty Python. I creatori di quello spettacolo hanno giocato con altri titoli tra cui Tempo di allungamento del gufo e Il momento di elevazione del rospo. Se avessero optato per uno di quelli, chissà come si sarebbe chiamato Python.
Python è stato progettato pensando alla semplicità. Rossum voleva che il codice fosse simile all’inglese e facile da leggere, scrivere e capire. La sintassi è semplice e accessibile per i principianti e i programmatori esperti possono accedere a Python da altri linguaggi senza problemi.
Questa semplicità di fondo non significa che non puoi risolvere problemi complessi con Python. La bellezza di Python è che puoi sfruttare tutta la sua potenza nascosta usando la sua sintassi semplice e accessibile. Questo rende Python ideale per lo sviluppo rapido di applicazioni.
exam_score = 40
course_work_score = 55
project_score = 40
if (course_work_score >= 40 and exam_score >= 60) or (project_score + exam_score >=70):
print("You passed.")
else:
print("You failed.")
L’intento di questo codice dovrebbe essere ovvio per chiunque. Nota l’uso di and e or rappresentare gli operatori logici. Al contrario, C usa && e ||.
Interpreti e compilatori
Python è un linguaggio interpretato. Scrivi il codice sorgente del tuo programma in file e l’interprete Python legge i file ed esegue i comandi che hai inserito. I linguaggi compilati come il C richiedono passaggi aggiuntivi tra la scrittura del programma e l’esecuzione del programma.
Un software chiamato compilatore legge i file di programma e genera un file binario contenente le istruzioni di basso livello che il computer comprende. In altre parole, prende ciò che hai scritto, il codice sorgente C, e ne crea una copia che è stata tradotta nella lingua madre del computer. Con un programma compilato, è l’output del compilatore, il file binario, che viene eseguito.
Il vantaggio di un programma compilato è che vengono eseguiti più velocemente di un programma interpretato perché il codice non ha bisogno di essere interpretato ogni volta che viene eseguito. Ma il vantaggio dei linguaggi interpretati è l’assenza della fase di compilazione. E la compilazione può richiedere molto tempo. Con Python, puoi modificare alcune righe di codice ed eseguire immediatamente il tuo programma.
È più facile lavorare con Python in un ambiente di sviluppo integrato (IDE) e ci sono molti IDE per Python: Idle è stato uno dei primi. Inattivo ti consente di digitare il tuo codice, digita Ctrl+S per salvarlo, quindi premi F5 per eseguirlo. Il tuo programma viene eseguito in una shell Python. Puoi digitare qualsiasi comando Python nella shell e farlo eseguire immediatamente. Questo ti dà il classico ciclo di lettura, valutazione, stampa o REPL, che aiuta lo sviluppo.
Questo piccolo programma definisce una stringa, somma alcuni numeri, quindi stampa il totale.
geek_string = "This is an ex-parrot"
print("Total = ", 4 + 5 + 6)

Salvando il file e premendo F5 si esegue il programma. Stampa il totale ed esce. Sei lasciato al prompt della shell Python. La stringa non è usata nel programma, ma puoi comunque farvi riferimento nella shell usando il tasto print comando sulla riga di comando della shell.

Il controllo dei valori delle variabili dopo il completamento del programma può darti preziose informazioni su ciò che stava accadendo all’interno del tuo codice.
Il design unico del linguaggio di Python
Python potrebbe essere progettato per facilità di lettura e velocità di apprendimento, ma racchiude anche un vero potere. Supporta completamente la programmazione orientata agli oggetti (OOP). OOP ti consente di modellare gli elementi del mondo reale e le relazioni tra loro come oggetti all’interno dei tuoi programmi. Le classi definiscono le caratteristiche degli oggetti e possono contenere funzioni che gli oggetti di quella classe possono utilizzare.
Puoi pensare a una classe come a una sorta di modello e gli oggetti vengono creati a loro immagine. Le classi possono essere derivate da classi esistenti e possono ereditare le proprietà della classe originale. C’è molto di più nell’OOP, ma basti dire che è un modo tremendamente potente per modellare oggetti e dati all’interno delle applicazioni. Molti altri linguaggi di programmazione supportano i principi OOP, ma la sintassi semplificata di Python rende la sua implementazione una delle più accessibili.
Python supporta tutti i normali controlli del flusso di esecuzione come if rami, while e for loop, match istruzioni (simili a switch in altre lingue) e sezioni ripetute di codice possono essere definite come funzioni.
Una stranezza di Python è che gli spazi bianchi sono significativi. La maggior parte degli altri linguaggi ignora completamente gli spazi bianchi nel codice sorgente. Python usa il rientro per indicare a quale blocco di codice appartiene il testo rientrato. L’indentazione sostituisce le parentesi graffe usate dalla maggior parte degli altri linguaggi. La quantità prescritta di indentazione è di 4 spazi per tab, ma finché un rientro è di uno o più spazi, Python determinerà a quale blocco appartiene la tua riga di codice.
price = 100
disposable_income = 95.5
no_deal = "You can't buy that item."
if price > disposable_income:
print("Too expensive!")
print(no_deal)
L’esecuzione di questo programma fornisce questo output.

Entrambe le righe nel blocco rientrato vengono stampate perché sono raggruppate logicamente in base al loro rientro.
Potresti aver notato che tutte le definizioni delle variabili, note come identificatori in Python: inizia con il nome della variabile, non un indicatore di tipo come int, char, o float. Le variabili in Python sono digitato dinamicamente. Non è necessario specificare quale tipo di dati conterrà la variabile. Python lo capisce in fase di esecuzione.
Inoltre, non è necessario contrassegnare la fine di una riga con un punto e virgola “;” o qualsiasi altro carattere speciale. Ciò conferisce al codice un aspetto più naturale e impedisce che appaia disordinato.
La Biblioteca standard e altre biblioteche
Programmare significa ottenere un risultato finale dicendo al computer cosa fare, nel vocabolario della lingua in cui si sta programmando, in modo che produca il risultato finale desiderato. Scrivendo le tue funzioni puoi estendere le capacità e il vocabolario della lingua.
Una raccolta di funzioni utili si chiama a biblioteca. Python viene fornito con una libreria standard. Questa è una raccolta molto ampia di funzioni raggruppate in moduli. Fornisce moduli per attività come l’interazione con il sistema operativo, la lettura e la scrittura di file CSV, la compressione e la decompressione ZIP, la crittografia, l’utilizzo di data e ora e molto altro.
Per utilizzare una funzione è necessario importare il modulo appropriato.
import os
print("CurrentDir:", os.getcwd())

Per interlacciarci con il sistema operativo importiamo il os modulo. Per controllare la directory di lavoro corrente usiamo il getcwd() funzione, che è contenuta nella os modulo.
Se salviamo queste due righe in un file di testo chiamato “cwd.py”, possiamo eseguirlo chiamando Linux python3 interprete e passando il nome del programma sulla riga di comando.
python3 cwd.py

Ci sono migliaia di altre librerie disponibili per Python. Alcuni sono disponibili in commercio, ma di gran lunga la maggior parte sono gratuiti e open-source.
Un linguaggio di programmazione e un linguaggio di scripting
Quando scrivi uno script di shell in Linux, la prima riga dello script, chiamata riga shebang, indica quale interprete di comandi deve essere utilizzato per eseguire quello script. In genere, questo sarà bash :
#!/bin/bash
Se aggiungi la seguente riga shebang al tuo programma Python e lo rendi eseguibile, la shell passerà il tuo script all’interprete Python.
#!/usr/bin/env python3
Ciò significa che puoi scrivere script in Python proprio come fai con bash comandi. Se aggiungiamo la linea shebang al nostro esempio precedente otteniamo:
#!/usr/bin/env python3
import os
print("CurrentDir:", os.getcwd())
Salviamolo come “cwd-2.py” e usiamo chmod per renderlo eseguibile:
chmod +x cwd-2.py

Ora, per eseguire lo script possiamo chiamarlo direttamente per nome:
./cwd-2.py

In effetti, Python può essere utilizzato come linguaggio di scripting per l’utilizzo da parte di altre applicazioni e Python può essere incorporato e utilizzato per aggiungere funzionalità interne a programmi scritti in altri linguaggi.
Python è del momento
Non ci sono tendenze più calde nel mondo dell’informatica e dell’ingegneria dei dati rispetto ai big data, al cloud computing e all’apprendimento automatico. E Python è proprio al centro di questi movimenti. Esistono librerie che facilitano la posizione di Python come uno dei migliori strumenti di sviluppo in ciascuna di queste discipline. Probabilmente, detiene il primo posto in molti di essi.
Ancora meglio, tutte quelle librerie open source sono disponibili per l’armeggiatore domestico. Hai voglia di addestrare un RaspberryPi a eseguire il riconoscimento facciale? Scarica le librerie appropriate, ad esempio OpenCV, face_recognition e imutils, e via.
Interpretato, non limitato
Python potrebbe essere interpretato, ma viene eseguito rapidamente e si ridimensiona bene. È utilizzato dai leader del settore tra cui Google, Facebook, Instagram, Netflix e Dropbox.
Insieme a un framework Web come Django, è stato utilizzato per creare alcuni dei siti Web più visitati e con il traffico più elevato al mondo, come YouTube, Instagram, Spotify e Dropbox.
Ci sono molte risorse online per aiutarti a imparare Python, come il tutorial di W3Schools. Si spera che questa rapida panoramica di alcune delle interessanti funzionalità di Python stuzzicherà il tuo appetito per verificarle.
IMPARENTATO: Che cos’è la crittografia e come funziona?
