L'o­lan­de­se Guido van Rossum sviluppò il lin­guag­gio di pro­gram­ma­zio­ne Python già nei primi anni '90: esso divenne ra­pi­da­men­te uno strumento popolare per scrivere script per la re­gi­stra­zio­ne audio e lo sviluppo web. Sebbene le al­ter­na­ti­ve oggi siano più varie che mai, a quasi tre decenni di distanza il lin­guag­gio dinamico ha perso ben poca po­po­la­ri­tà. Che si tratti di ap­pli­ca­zio­ni web, sistemi integrati (come mi­ni­com­pu­ter negli elet­tro­do­me­sti­ci) o software en­ter­pri­se, i pro­gram­ma­to­ri Python sono attivi e richiesti nei settori più diversi.

Uno dei punti più cruciali per il successo duraturo di Python è la sua facilità d'uso per i prin­ci­pian­ti, perché l'ap­pren­di­men­to e l'uso di Python è molto più semplice di quanto non sia per molte al­ter­na­ti­ve. Questo tutorial di Python ne illustra le ragioni e spiega come iniziare al meglio con questo lin­guag­gio di pro­gram­ma­zio­ne.

Python per prin­ci­pian­ti: quali sono le ca­rat­te­ri­sti­che di questo lin­guag­gio di pro­gram­ma­zio­ne?

Python è uno dei linguaggi di pro­gram­ma­zio­ne più versatili, prin­ci­pal­men­te perché supporta mol­te­pli­ci paradigmi di pro­gram­ma­zio­ne. Pertanto, con Python è possibile sia la pro­gram­ma­zio­ne orientata agli oggetti sia la pro­gram­ma­zio­ne orientata agli aspetti o fun­zio­na­le. Ciò che fin dal­l'i­ni­zio Guido van Rossum chiedeva al lin­guag­gio era con­sen­ti­re lo sviluppo di programmi i cui codici sorgente siano ca­rat­te­riz­za­ti da una buona leg­gi­bi­li­tà. Elemento fon­da­men­ta­le a tale scopo è una sintassi chiara, com­pren­si­bi­le e di facile ap­pren­di­men­to, che utilizza, tra le altre cose, parole chiave inglesi anziché simboli criptici e presenta re­la­ti­va­men­te poche co­stru­zio­ni sin­tat­ti­che.

N.B.

Dal 2001, la Python Software Foun­da­tion (PSF), con sede in Delaware (USA), è re­spon­sa­bi­le della ma­nu­ten­zio­ne e dello sviluppo di Python. L'or­ga­niz­za­zio­ne senza fini di lucro è, tra le altre cose, editore e detentore del copyright della licenza gratuita di Python Software Foun­da­tion (com­pa­ti­bi­le con GNU GPL), con la quale il lin­guag­gio di pro­gram­ma­zio­ne è ora concesso in licenza.

Ma non è solo il design chiaro e di facile com­pren­sio­ne di Python a fa­ci­li­ta­re ai neofiti l'ap­pren­di­men­to rapido del lin­guag­gio di pro­gram­ma­zio­ne. Esso infatti è ca­rat­te­riz­za­to anche dai seguenti pregi:

  • Python non ha bisogno di parentesi per segnalare i blocchi (come le parentesi graffe in C) perché la loro struttura viene definita au­to­ma­ti­ca­men­te dai rientri uti­liz­za­ti per la strut­tu­ra­zio­ne.
  • Se una riga contiene solo una singola istru­zio­ne, alla fine della riga non è richiesto il punto e virgola.
  • Python funziona senza di­chia­ra­zio­ni di variabili.
  • I programmi scritti con il lin­guag­gio di pro­gram­ma­zio­ne Python sono in genere molto più snelli delle ap­pli­ca­zio­ni con linguaggi tra­di­zio­na­li (come Java) con le stesse pre­sta­zio­ni.
  • Python viene fornito con una vasta libreria standard.
  • Grazie al­l'in­ter­pre­te altamente portatile, il lin­guag­gio di pro­gram­ma­zio­ne è di­spo­ni­bi­le su varie piat­ta­for­me.
  • È garantito uno sviluppo continuo (in col­la­bo­ra­zio­ne con la grande community).

Per chi può essere indicato o in­te­res­san­te Python?

Sebbene Python sia con­si­de­ra­to par­ti­co­lar­men­te adatto ai prin­ci­pian­ti, ciò non significa che il lin­guag­gio non sia di interesse per gli svi­lup­pa­to­ri esperti. Il lin­guag­gio dinamico e uni­ver­sa­le gode di grande po­po­la­ri­tà e compete con altri linguaggi di pro­gram­ma­zio­ne con­so­li­da­ti in vari settori: la sua struttura semplice non implica in alcun modo che i programmi Python offrano ge­ne­ral­men­te meno pos­si­bi­li­tà e pre­sta­zio­ni o qualità. Imparare Python può quindi ripagare sia in ambito privato che pro­fes­sio­na­le.

Python nello sviluppo web e a livello aziendale: utile, ma non ne­ces­sa­ria­men­te richiesto

Sia come prin­ci­pian­ti che come esperti dovreste con­si­de­ra­re prima se il lin­guag­gio sia adatto ai progetti pia­ni­fi­ca­ti. Ad esempio, se siete in­te­res­sa­ti prin­ci­pal­men­te allo sviluppo web o lavorate in un settore correlato, dif­fi­cil­men­te riu­sci­re­te a fare a meno di standard come PHP e Perl. Tuttavia, Python è un vantaggio che non deve essere sot­to­va­lu­ta­to anche come am­plia­men­to del por­ta­fo­glio: spe­cial­men­te in com­bi­na­zio­ne con il framework Django si possono creare ap­pli­ca­zio­ni Web di alta qualità basate su Python. Si comporta in modo simile anche nel settore en­ter­pri­se, che è dominato da linguaggi come Java e C#, ma non esclude ca­te­go­ri­ca­men­te linguaggi di pro­gram­ma­zio­ne al­ter­na­ti­vi come Python.

Sistemi integrati, ap­pren­di­men­to au­to­ma­ti­co, scienza dei dati: campo di ap­pli­ca­zio­ne di Python

Python gode di un'alta priorità nello sviluppo di sistemi integrati (ingl. embedded systems). Questi mi­ni­com­pu­ter, che svolgono compiti semplici come funzioni di mo­ni­to­rag­gio, controllo o re­go­la­zio­ne o elaborano dati o segnali, sono richiesti in quasi tutti gli elet­tro­do­me­sti­ci domestici: dal router al te­le­vi­so­re fino al fri­go­ri­fe­ro o alla lavatrice. Se le vostre attività di pro­gram­ma­zio­ne vanno in questa direzione, vi con­si­glia­mo vivamente di imparare Python: ci sarà un motivo se Python è richiesto anche come base software per progetti DIY con Raspberry PI.

Anche nella pro­gram­ma­zio­ne di software con ap­pren­di­men­to au­to­ma­ti­co (Machine Learning), Python svolge un ruolo im­por­tan­te: ad esempio, i casi di ap­pli­ca­zio­ni semplici che non ri­chie­do­no il Deep Learning (ovvero l'e­la­bo­ra­zio­ne di in­for­ma­zio­ni naturali) sono facili da gestire uti­liz­zan­do le tre librerie Python, ovvero scikit-learn, NumPypandas . In questo ambito, per tanti Python resta da tempo la prima scelta. Inoltre, il lin­guag­gio di pro­gram­ma­zio­ne Python è senza dubbio in­te­res­san­te per coloro che de­si­de­ra­no spostarsi nel più ampio campo della scienza dei dati (Data Science) e pro­gram­ma­re software per calcoli ma­te­ma­ti­ci o sta­ti­sti­ci e pre­vi­sio­ni, lontano dal­l'ap­pren­di­men­to au­to­ma­ti­co.

Imparare Python: tutorial Python per prin­ci­pian­ti

Per pro­gram­ma­re con Python vi servono due cose: un editor di codice e la versione di Python giusta per il vostro sistema operativo.

Il primo in teoria potrebbe essere un semplice editor di testi come Blocco note, che è in­stal­la­to di default in Windows (detto anche sem­pli­ce­men­te "editor"). Ma per rendere il lavoro con Python il più comodo possibile, dovreste usare un editor come Notepad ++ con fun­zio­na­li­tà ag­giun­ti­ve di evi­den­zia­zio­ne della sintassi o di com­ple­ta­men­to au­to­ma­ti­co. Un elenco delle soluzioni con­si­glia­te per Windows, macOS, Linux o anche Android è di­spo­ni­bi­le nel nostro articolo sui migliori editor di codici.

L'e­di­zio­ne giusta si trova nel Download Center del­l'ho­me­pa­ge ufficiale di Python. Per i diversi sistemi operativi, troverete file ese­gui­bi­li di in­stal­la­zio­ne, file sorgente im­pac­chet­ta­ti o immagini di Docker. Oltre ai pacchetti per Windows, macOS e Linux, sono di­spo­ni­bi­li anche pacchetti per iOS, Solaris e IBM i (pre­ce­den­te­men­te OS/400). Se state iniziando a imparare Python, è meglio scaricare l'ultima versione. In al­ter­na­ti­va, ci sono anche varie versioni pre­ce­den­ti così come file binari di Python 1.1.

Python per prin­ci­pian­ti: i migliori tutorial di ap­pren­di­men­to per i pro­gram­ma­to­ri alle prime armi

Se non siete pratici con la pro­gram­ma­zio­ne, pro­ba­bil­men­te l'ampia do­cu­men­ta­zio­ne online di Python, che spiega tutte le nozioni di base del lin­guag­gio, non vi sarà di grande aiuto. Questi manuali, che, come nel caso di Python, sono per lo più di­spo­ni­bi­li solo in inglese, sono rivolti più agli utenti avanzati che hanno già acquisito espe­rien­za con altri linguaggi di pro­gram­ma­zio­ne.

Ma sul web si trovano proposte ec­cel­len­ti anche per i prin­ci­pian­ti assoluti, volte a sem­pli­fi­ca­re no­te­vol­men­te l'ap­pren­di­men­to della pro­gram­ma­zio­ne Python. Qui di seguito vi pre­sen­tia­mo tre delle piat­ta­for­me più in­te­res­san­ti e utili di Python per i prin­ci­pian­ti.

python.it

"How to think like a Computer Scientist" (it. "Come imparare a pensare come un in­for­ma­ti­co") questo è il titolo del tutorial su Python di Allen B. Downey, Jeffrey Elkner e Chris Meyers, che è stato tradotto in italiano da Ales­san­dro Pocaterra e si trova sulla pagina python. Questa guida di Python è in­di­riz­za­ta non solo agli ado­le­scen­ti, ma so­stan­zial­men­te a tutti coloro che vor­reb­be­ro muovere i primi passi nel mondo della pro­gram­ma­zio­ne.

Tutorial di Python di fcamuso (YouTube)

La piat­ta­for­ma di con­di­vi­sio­ne video YouTube è un'ottima fonte di in­for­ma­zio­ni per le tecniche di pro­gram­ma­zio­ne di ogni tipo e offre tutta una serie completa di materiali didattici su Python. Ad esempio, come prin­ci­pian­ti di Python, con la playlist "Python Tutorial" del­l'u­ten­te fcamuso troverete ciò che fa al caso vostro. La serie di tutorial è espres­sa­men­te rivolta a coloro che non conoscono i linguaggi di pro­gram­ma­zio­ne ed è composta in tutto da 33 lezioni.

Tutorial di Python: le risorse migliori per gli utenti intermedi

Con la sua vasta offerta, il canale YouTube di PyMike è adatto anche agli utenti che hanno già co­no­scen­ze di pro­gram­ma­zio­ne e sono alla ricerca di contenuti didattici più ap­pro­fon­di­ti. Oltre al tutorial di Python per prin­ci­pian­ti, sono di­spo­ni­bi­li altre playlist che aiutano gli utenti a capire la pro­gram­ma­zio­ne con Python in scenari ap­pli­ca­ti­vi concreti, tutto nel canale Pro­gram­ma­re in Python.

Altre risorse in­te­res­san­ti per pro­gram­ma­to­ri esperti che vogliono saperne di più sul lin­guag­gio di pro­gram­ma­zio­ne Python sono riportate di seguito:

  • Pro­gram­ma­re in Python: il portale di ap­pren­di­men­to online pro­gram­ma­rein­py­thon.it offre tutorial, lezioni, esercizi e corsi pro­fes­sio­na­li, nonché un blog con in­te­res­san­ti in­for­ma­zio­ni.
  • Il forum Python italiano: se non conoscete Python ma vi occupate di pro­gram­ma­zio­ne, potete con­sul­ta­re il forum ufficiale italiano di Python, un centro di in­for­ma­zio­ni di massimo livello. Se in­con­tra­te dubbi o problemi mentre imparate Python, molto pro­ba­bil­men­te troverete la risposta o la soluzione giusta lì.
N.B.

Ov­via­men­te, potete imparare le basi di Python anche par­te­ci­pan­do a seminari in aula presso istituti superiori e uni­ver­si­tà o tramite la for­ma­zio­ne online. Si tratta però di soluzioni a pagamento che si rivolgono espres­sa­men­te a chi intende imparare la pro­gram­ma­zio­ne con Python nel­l'am­bi­to di una for­ma­zio­ne pro­fes­sio­na­le.

L'av­vi­ci­na­men­to perfetto a Python: i tutorial come pilastro

Anche quando si impara Python vale la regola che sba­glian­do s'impara. Sia che siate nuovi nella pro­gram­ma­zio­ne, sia che Python sia già il vostro secondo o solo un altro lin­guag­gio tra tanti, l'ap­pli­ca­zio­ne pratica è es­sen­zia­le, come in tutti i linguaggi di pro­gram­ma­zio­ne. Con­si­de­ra­te quindi i tutorial di Python elencati come un supporto utile, ma non di­men­ti­ca­te di eser­ci­tar­vi. L'ideale è provare a mettere subito in pratica ciò che avete imparato pro­gram­man­do un progetto di esempio.

Ve­ri­fi­ca­te re­go­lar­men­te di aver capito e as­si­mi­la­to le basi di Python, in modo da poterle spiegare teo­ri­ca­men­te anche ad altre persone. In questo modo sarete sulla buona strada per scrivere ben presto i vostri programmi Python.

Vai al menu prin­ci­pa­le