Home / Blog / - -

Programmare in Python

di Giuseppe Maggi

Probabilmente negli ultimi anni avrai sentito parlare molto del linguaggio Python. Appare come una delle tendenze più in voga del momento, ma ti assicuro che non si tratta affatto né di una novità né tanto meno di una moda temporanea. In questo articolo, ti spiegherò le potenzialità di questa tecnologia, i punti di forza che lo rendono così adatto a compiti delicati e come sia possibile diventarne un professionista in poco tempo, pronto ad occupare una delle tante posizioni lavorative che ne richiedono la conoscenza.

Le origini di Python

La storia di Python inizia circa trent’anni fa. Venne ideato dal programmatore olandese Guido van Rossum tra la fine degli anni Ottanta ed i primi Novanta e sin da subito manifestò una grandissima carica innovativa. Il suo scopo fondamentale era quello di fornire un ricco set di istruzioni, con una sintassi sintetica al massimo e molto semplice. L’interesse che Python ha suscitato è cresciuto sempre più, tanto che la community che gli si è creata attorno è una delle più ampie del mondo e continua a vedere nel suo creatore un punto di riferimento. Guido detiene ad oggi il particolarissimo ruolo di BDFL (“Benevolent Dicator For Life” ovvero “Benevolo dittatore a vita”) in quanto lascia la comunità di programmatori prosperare liberamente pur riservando per sé le più importanti decisioni strategiche. Ma vediamo ora le caratteristiche di questo linguaggio.

Caratteristiche del linguaggio Python

Python è un linguaggio assolutamente completo. Si distingue per:

  • tipizzazione dei dati forte ma dinamica. Ciò significa che il tipo di dato non deve essere assegnato staticamente dal programmatore ma sarà appropriatamente scelto da Python. A tale dinamicità corrisponde però una tipizzazione forte in quanto tale tipo di dato, una volta assegnato, non può cambiare in autonomia ma resta fisso a meno che non gli si applichi una conversione esplicita;
  • strutture dati di ogni tipologia fondamentale. Python offre tutte le strutture dati indispensabili , in grado di coprire ogni possibile necessità. Si avranno a disposizione liste (sequenze di valori indicizzati per posizione, modificabili e che ammettono duplicati), tuple (analoghe alle liste ma non modificabili), set (collezioni che non memorizzano la posizione degli elementi e non ammettono duplicati), dizionari (raccolte di valori etichettati ognuno con una chiave). Queste sono le versioni fondamentali ma non ne mancano di più particolari rese nel tempo disponibili nel linguaggio;
  • elevato numero di funzioni dedicate all’analisi di dati come stringhe, date e orari;
  • package (raccolte di funzionalità) che offrono tutto il necessario per svolgere lavori specifici dedicati alla gestione delle connessioni in Rete, dei database, dei file, etc.;
  • pubblicazione di package in Internet tramite il sistema PyPI (Python Package Index). Tutto il materiale ivi disponibile può facilmente essere reperito mediante pip, strumento molto semplice da riga di comando. Proprio la grande disponibilità di risorse presenti nel Python Package Index dimostra il valore della community che supporta tale tecnologia;
  • Programmazione ad Oggetti: Python permette di gestire classi ed oggetti per strutturare meglio le informazioni. Tali costrutti, abbinati alla flessibilità delle strutture dati e alla potenza delle funzioni di elaborazione offerte dai vari package, mettono in condizione di creare progetti con architetture organizzate e gestibili.

Tutto questo può darti un’idea del perché Python sia così importante, ma quali sono i campi in cui viene applicato e quali le opportunità che offre?

» VUOI SAPERNE DI PIU’? SCOPRI I NOSTRI CORSI DEDICATI A PYTHON «

Lavorare con Python

Sia chiaro innanzitutto che un linguaggio come Python può svolgere qualsiasi tipo di attività. E’ stato utilizzato per la creazione di applicazioni desktop, servizi e siti web, software per reti in grado di dialogare con qualsiasi protocollo e creazione di test. Tutti questi sono campi “tradizionali” per così dire, i tipici impieghi di qualsiasi linguaggio negli anni ’90 e seguenti. Non solo programmatori e piccole aziende, da sempre Python è stato supportato dalle più grandi compagnie del mondo: Google, Nasa e RedHat sono solo alcuni di tali nomi rappresentativi. Ultimamente però si fa un gran parlare di questo linguaggio perché si è affermato come uno dei più adatti a settori che stanno attirando l’interesse di ogni azienda:

  • Elaborazioni dati, anche di carattere scientifico, che riguardano Big Data, Machine Learning e Data Science in generale. La grande accumulazione di dati effetto della diffusione di app mobile, Cloud Computing e connessioni capillari e veloci ha portato ad un sempre maggiore interesse verso tutte queste tecniche che permettono di utilizzarli per monitorare le attività in corso, predire scenari futuri ed estrarre informazioni a prima vista non rilevabili. La predisposizione di Python per il calcolo scientifico e la sua sintassi produttiva hanno reso questo linguaggio uno dei favoriti in questi ambiti. Inoltre esistono framework avanzati, disponibili gratuitamente presso i già citati repository pubblici tra cui, a titolo di esempio, ricordiamo Apache Spark per Big Data (utilizzabile con Python nonché con i linguaggi Scala, R e Java), Pandas per il Data Science, NumPy per il calcolo e SciPy per il Machine Learning;
  • IoT, Internet Of Things. Si tratta di un mondo complesso in cui grazie alla continua miniaturizzazione dell’elettronica è possibile integrare “intelligenza” in qualsiasi oggetto mettendolo in condizione di inviare ai server dati relativi al loro utilizzo in modo da ottimizzarne il funzionamento, valutarne migliorie ed offrire maggiori vantaggi a chi li utilizza. Python è adatto per lavorare in microcontroller e allo scopo esiste una versione apposita del linguaggio, MicroPython. Tutto ciò spiega come mai si parli di Python come linguaggio perfetto non solo per grandi server ma anche per piattaforme operative miniaturizzate quali RaspBerry Pi, Arduino e BBC Microbit.

Python 3 non è Python 2

Uno degli aspetti cui porre maggiore attenzione quando si inizia ad utilizzare Python è il rapporto tra le sue versioni più recenti. Attualmente, Python 3 è la versione dominante e non è compatibile con Python 2. Soprattutto chi inizia da zero lo studio del linguaggio, dovrebbe concentrarsi sull’edizione più recente stando attento a non confondere le tecniche delle due versioni.

» VUOI SAPERNE DI PIU’? SCOPRI I NOSTRI CORSI DEDICATI A PYTHON «

Strumenti per la programmazione in Python

Per iniziare a lavorare in Python, è semplicemente necessario installare la piattaforma, reperibile presso l’homepage del progetto. Il primo approccio può essere affrontato con la console interattiva, un ambiente da riga di comando da lanciare invocando il programma python o python3 (a seconda della propria installazione) che permette l’immissione di direttive scritte in questo linguaggio. Ad esempio, nella seguente immagine possiamo vedere come l’avvio della console permetta di scrivere comandi ed ottenere immediatamente risultati:

Programmare in Python 01

Nell’esempio appena riportato abbiamo usato la console per stampare un messaggio di testo con la funzione print e per eseguire un calcolo diretto.

La console interattiva è indicata per lo studio del linguaggio e la sperimentazione di tecniche, ma la vera scrittura di software in Python avviene salvando i propri programmi in file di estensione .py da invocare successivamente con il medesimo tool usato per avviare la console. Nell’immagine seguente abbiamo scritto un programmino in grado di stampare la tabellina del 3, denominato tabellina.py, e l’abbiamo lanciato da riga di comando:

Programmare in Python 02

Con un normale editor di testo possiamo scrivere qualsiasi programma in Python ed è proprio questo il modo in cui tantissimi programmatori lavorano. Nonostante ciò si può optare per molti ambienti di sviluppo completi, i cosiddetti IDE (Integrated Development Environment), nati appositamente per questo linguaggio come PyCharm o adattati mediante plugin ad hoc, pensiamo ai casi di Visual Studio di Microsoft, Atom e PyDev basato su Eclipse.

Altra opzione da considerare, soprattutto in fase di studio e sperimentazione, è la disponibilità di ambienti di programmazione on line utilizzabili senza installare Python sul proprio computer i quali richiedono esclusivamente l’uso di un browser: uno tra i vari è, ad esempio, Repl.

Conclusioni

Python, in definitiva, rappresenta in assoluto uno dei migliori linguaggi da imparare. Ha un approccio facile (tanto da essere indicato anche per i bambini), totalmente gratuito, fortemente didattico per un avvicinamento al mondo della programmazione e altamente richiesto in ambito professionale. Su quest’ultimo punto, non si può che sottolineare la sua diffusione inarrestabile e velocissima in ogni settore. Quindi che aspetti? Se questo articolo ha svegliato in te la voglia di studiare qualcosa di nuovo, interessante e molto remunerativo, siediti al computer ed inizia subito a studiare Python: materiale in Rete abbonda e soprattutto i nostri corsi sapranno guidarti velocemente alla meta.

» VUOI SAPERNE DI PIU’? SCOPRI I NOSTRI CORSI DEDICATI A PYTHON «