Python è un linguaggio di alto livello altamente espressivo che privilegia leggibilità, chiarezza ed astrazione. Questi valori sono talmente sentiti all’interno della comunità da creare il concetto di “codice pythonico”, essenzialmente richiedendo al “buon codice” non solo la semplice correttezza semantica, ma anche il rispetto di criteri stilistici ben definiti e universalmente riconosciuti.
Una condizione necessaria da questo punto di vista è saper scrivere codice idiomatico.
In un linguaggio di programmazione gli “idiomi” sono modi tipici di scrivere e strutturare codice in modo peculiare al linguaggio stesso, il che vuole dire che non sono tipicamente traducibili immediatamente in linguaggi differenti e richiedono uno studio specifico da chi si avvicina per la prima volta al linguaggio. Il vantaggio è che sono generalmente coincisi e ben riconoscibili da chi ha già padronanza del linguaggio, portando il discorso a un livello di astrazione superiore, creando codice più facilmente mantenibile.
Scrivere questo tipo di codice è generalmente una questione di gusto acquisito e di esperienza, ma alcune convenzioni e idiomi diffusisi nel corso degli anni possono essere facilmente illustrati e imparati fin dall’inizio della propria “carriera di Pythonista”, rendendo più facile la fruizione del codice altrui e migliorando il proprio stile.
Il presente è un talk di carattere relativamente introduttivo per illustrare le principali convenzioni e i più diffusi idiomi tipici del linguaggio Python.
Dopo un breve riepilogo delle convenzioni di nomenclatura suggerite nella famosa PEP8, si passerà all’analisi e alla descrizione di tipici idiomi pythonici e di alcuni anti-pattern, con considerazioni su leggibilità ed efficienza.