Le basi del linguaggio
In questo capitolo, esploreremo i concetti fondamentali che costituiscono i tre passi fondamentali di esecuzione di ogni programma, nonché la base del linguaggio Python: input, elaborazione e output. Per comprenderli appieno, immaginate il vostro programma come un cervello e queste tre componenti come i suoi principali meccanismi di ragionamento e di rapporto con il mondo esterno.
Input
Gli input rappresentano l'informazione che il vostro programma riceve dall'utente o da altre fonti esterne. Potrebbe essere una risposta a una domanda posta dall'applicazione, oppure dati provenienti da un file o scaricati da Internet.
Ad esempio, se scrivete un programma per calcolare la somma di due numeri, i due numeri stessi sono l'input. In per contare quante volte una parola compare in un testo, gli input sono il testo e la parola stessa.
È importante comprendere che mentre scrivete codice, assumete il ruolo del programmatore, ovvero il creatore, l'architetto software che risolve problemi, progetta e da vita alle idee. Quando eseguite il codice per verificarne il funzionamento, invece, vi mettete nei panni di un utente che usa l'applicazione. Imparare a distinguere questi due ruoli è importantissimo per capire correttamente il meccanismo dell'input. Man mano che farete esercizi, capirete meglio questo concetto.
Elaborazione
Il cuore di ogni programma è invece la fase di elaborazione. È qui che l'ingegno creativo del programmatore prende forma e gli algoritmi che scriviamo prendono vita. La fase di elaborazione è il momento in cui il vostro codice, attraverso un intricato percorso di istruzioni ben definite, mette in atto la risoluzione del problema che il vostro programma si propone di affrontare.
In questo processo vengono usati una serie di meccanismi differenti, ognuno con un ruolo specifico. Li studieremo uno alla volta, iniziando con uno dei più basilari: l'istruzione di assegnazione.
Le assegnazioni sono i mattoni fondamentali durante l'elaborazione: fungono come sistema di archiviazione per il cervello del vostro programma. Consentono infatti di memorizzare informazioni in vari "contenitori" chiamati variabili. Queste variabili sono come delle scatole virtuali in cui potete conservare e manipolare dati durante l'esecuzione del programma.
Output
In questo schema basilare, l'output rappresenta la fase in cui il programma restituisce all'utente il risultato dell'elaborazione. Possono essere visualizzati sullo schermo, salvati su un file o persino inviati ad altri programmi.
In questo capitolo vedremo come si implementa in Python ognuna di queste tre fasi, facendo il percorso a ritroso: partiremo dall'output, poi parleremo dell'elaborazione dei dati (e dei componenti minimi che servono per farlo) e infine dell'input.
📄️ Output
La funzione per visualizzare l'output è print("messaggio di testo")
📄️ Le variabili
In questa sezione vedremo con quali strutture i programmi riescono a memorizzare i dati su cui stanno lavorando e di che tipo questi possono essere.
📄️ Le stringhe
Come già introdotto nella sezione sull'output, le stringhe rappresentano una delle strutture dati più utilizzate in qualsiasi programma poiché consentono di lavorare con testi e sequenze di caratteri. Quasi tutti i programmi, indipendentemente dal contesto, hanno bisogno di manipolare qualche tipo di testo, che sia input dell'utente, etichette su componenti grafici come bottoni o box, password, messaggi, e-mail o interi documenti.
📄️ Input
L'input è un aspetto fondamentale della programmazione: permette di ricevere dati dall'utente per elaborarli nel programma. In Python, questa operazione è resa semplice dalla funzione integrata input().
📄️ I moduli
Python, come molti altri linguaggi di programmazione, offre un meccanismo per organizzare e riutilizzare il codice: i moduli. Un modulo non è altro che un file che contiene codice scritto in Python. I moduli permettono di suddividere un programma in parti più gestibili e di riutilizzare codice già scritto (da se sessi o da altri) senza doverlo riscrivere ogni volta.