Hi, little cub. Oh, no. Don’t be scared. I’m not gonna hurt you.
Dal film: The Jungle Book. Walt Disney Picture, 2016.
Python è un linguaggio non proprietario e di pubblico dominio è stato creato dall’olandese Guido van Rossum nel 1989. von Rossum racconta nella prefazione che a scritto per il libro sul Python di Lutz e Acher [1], che il progetto di scrivere un nuovo linguaggio è iniziato come un passatempo per le vacanze di Natale! Il linguaggio è stato ispirato dal linguaggio ABC. L’autore dice che “Ho scelto Python come titolo provvisorio per il progetto, essendo di umore un po’ irriverente (e un grande fan di Flying Circus dei Monty Python)”. Sicuramente il risultato è stato un nuovo linguaggio di grandissima diffusine e successo tanto che è tra il linguaggio più usati e insegnati nelle scuole. Il motivo del suo successo è duvuto all’insieme delle caratteristiche che lo distinguono da altri linguaggi di programmazioni che lo hanno preceduto. La sintassi usato per il codice Python è facile da leggere e capire. Permette di ottenere ridurre i tempi di programmazione rendendo possibile scrivere codici complessi in breve tempi. È un linguaggio interpretato ovvero il codice può essere eseguito direttamente senza il bisogno di compilarlo prima. Inoltre, in fase di esecuzione le informazioni ricevute dall’interprete permettono di trovare facilmente errori. Il linguaggio Python può essere usato su tutti i sistemi operativo disponibili quali Windows, Mac, Linux, Android, iOS e anche su microcomputers quali il Raspberry Pi. Sono state sviluppate tantissime raccolte di programmi (chiamate librerie) per eseguire compiti specifici (ad esempio grafica, risoluzione di equazioni differenziali) per velocizzare la scrittura di nuovi programmi.
Python è utilizzato in tutte le area della scienza, tecnologia, attività sociali e finanziarie. Per esempio, è usato nella robotica, per l’analisi dei dati in medicina, astronomia, bioinformatica, fisica delle particelle (solo per citarne alcune), nell’industria cinematografia, musicale e dei videogiochi.
Pertanto, imparare Python può tornare utile per creare progetti molto interessanti che supportano sia lo studio e che la futura carriera. In questa serie di articoli vengono dati dei rudimenti di programmazione in Python sufficienti a stimolare l’ interesse ad approfondire ulteriormente la conoscenza di questo fantastico linguaggio di programmazione. Per tale scopo si può consultare alla fine di questo articolo un elenco di siti online dove trovare ulteriori informazion sul linguaggio.
Anaconda
Anaconda è una popolare distribuzione di Python sviluppata da Continuum Analytics, Inc. Disponibile per Windows, Mac OS X e Linux Include molti pacchetti popolari: NumPy, SciPy, Matplotlib, Pandas, IPython, Cython. It include Spyder, un ambiente di sviluppo Python e conda, un gestore di librerie indipendente dal tipo di piattaforma
Puoi installare Anaconda sul tuo computer scaricandolo gratuitamente da questo sito: https://www.anaconda.com/
Il programma Jupyter
L’ applicazione Jupyter ci consente di eseguire codice Python, visualizzare output, testo tramite un browser Web. Esistono due modi per avviare un Jupyter da Anaconda.
- Fare doppio clic sull’applicazione Jupyter che nell’elenco di tutti i programmi disponibili in Anaconda.
- Se lavori on un OS di tipo Unix (per esempio Linux o MacOSX), allora apri una finestra di comando e vai nella directory in cui desideri che venga creato il progetto jupyter. Quindi digita
>Jupyter notebook
premi Invio. Se puoi aprire di nuovo un notebook dalla console di comando digitando
> Jupyter notebook filename.ipynb
In entrambi le modalità dovresti essere in grado di vedere la dashboard del Jupyter notebook come nella figura che segue.
- Per creare un nuovo notebook, fare clic su bottone alla tua destra in alto “New”, quindi selezionare Python Nei notebook jupyter, il codice viene inserito nelle celle.
- Nella prima cella, digita “print(“Hello World”)” e poi premi SHIFT + Invio per ottenere il seguente output.
- Puoi inserire più comandi nella cella successiva ed eseguirli selezionando le celle corrispondenti e premendo SHIFT + Invio.
- Per assegnare un nuovo nome al notebook seleziona dal menu File, il commando rename.
- Se vuoi salvare il notebook, seleziona File, Scarica come “notebook (. ipynb)”.
- Se si desidera spegnere il notebook, chiudere la scheda del browser Web e la corrispondente finestra di comando del notebook Jupyter.
- Se hai aperto più notebooks, nella Dashboard fai clic sulla scheda del notebook che non ti serve e chiudilo.
GESTIONE DEI DATI IN PYTHON
Python può eseguire operazioni su diversi tipi di dati
- Numerico (ad es. intero, float, booleano, complesso)
- Alfanumerico (ad esempio, stringhe di caratteri)
Questi dati possono essere organizzati nei seguenti tipi di elenchi
- Array (ad es. vettori e matrici)
- Dizionari
Python può manipolare i seguenti tipi di dati numerici:
- I numeri interi positivi e negativi: – 1, 2, 22, 476, -99999
- I numeri floating point ovvero i numeri reali (con punto decimale): – 1.0, 2.22, 22.098, 476.1, -99999.9
- I valori logici (o booleani) rappresentati dai valori 0 e 1 o True e False.
- I numeri complessi: (2+i5), i7.
Variabili
Le variabili sono contenitori di dati. La sintassi per dichiararli è:
nome_variabile = valore_variabile
Il simbolo = (uguale) è chiamato operatore di assegnazione
Python assegna il tipo di dato contenuto in una variabile dinamicamente. L’assegnazione automatico del tipo di variabili semplifica la programmazione perché lascia al computer il compito di assegnare il tipo di variable in base al contesto in cui essa viene usata.
Espressioni
Una espressione è un valore di dati o un insieme di operazioni per calcolare un valore (per esempio: 1 + 4 * 3).
Python usa i seguenti simboli per le operatori aritmetiche:
- + – * / addizione, sottrazione/negazione, moltiplicazione, divisione
- // divisione intera.
- % modulo , ovvero il resto di una divisione
- ** esponenziale
La precedenza è l’ordine in cui vengono calcolate le operazioni. Per esempio, * / % ** hanno una precedenza maggiore di + –
Per esempio: (1 + 3 * 4) =1+12=13
Tuttavia si pososno usare le parentesi possono per forzare un differente ordine di valutazione.
Per esempio: (1 + 3) * 4 = 16
Divisione di interi e operatore di modulo
Quando dividiamo i numeri interi con //, il quoziente è un numero intero.
Esempi:
- 35 // 5 = 7
- 84 // 10 = 8
- 156 // 100 = 1
L’ operatore % calcola il resto di una divisione di due numeri interi.
Esempi:
35%5 = 0
84%10 = 4
156%100 = 56
Funzioni matematiche
Python dispone di tantissime funzioni e costanti mathematiche predefinite. Per utilizzare molti di questi comandi, devi scrivere quanto segue all’inizio del tuo programma Python:
from math import *
come vedremo successivamente, questo commando serve a richiamare la libreria matematica dove queste funzioni matematiche sono definite. Nelle tabella che segue sono riportati quelle più comuni con la loro descrizione.
Nome del comando | Descrizione |
abs( valore ) | valore assoluto abs(-3)=3 |
ceil( valore ) | arrotonda il valore al prossimo valore intero (approssimazione per eccesso) |
cos( angolo ), sin( angolo ) | coseno, seno di un angolo in radianti |
floor( valore ) | arrotonda al precedente valore intero (approssimazione per difetto) |
log( valore ) | logaritmo in base e di di un numero |
log10( valore ) | logaritmo in base 10 di un numero |
max( valore1 , valore2 ) | maggiore di due valori |
min( valore1, valore2 ) | minore di due valori |
round( valore ) | numero intero più vicino al valore |
sqrt( valore ) | radice quadrata del numero |
e | Il valore della constante di Neper |
pi | il valore di pi greco |
LE VARIABILI ALPHANUMERICHE E LE STRINGHE DI CARATTERI
Una stringa è una sequenza di caratteri di testo in un programma. Le stringhe iniziano e finiscono con i caratteri virgolette ” o apostrofo ‘.
Esempi:
“Ceci n’est pas une pipe!”
possiamo anche assegnare una stringa ad una variabile
magritte=”Ceci n’est pas une pipe!”
Una stringa non può estendersi su più righe o contenere un carattere “.
“Questa non è una stringa
legale.”
“Nemmeno questa è una stringa ‘legale’.”
Per stampare le virgolette occorre farle precedere dal carattere barra rovesciata \.
Pertanto la stringa
“Nemmeno questa è una stringa \’legale\’.”
viene stampata correttamente
Una stringa può contenere altri caratteri speciali preceduti da una barra rovesciata (chiamati caratteri di controllo della stampa) quali:
\t carattere di tabulazione
\n carattere di nuova riga
\\ carattere barra rovesciata
Esempio:
“\t Tanto gentile e tanto onesta pare\n la donna mia, quand’ella altrui saluta,\nch\’ogne lingua devèn, tremando, muta,\n e li occhi no l’ardiscon di guardare.”
STAMPA DI STRINGHE E DI VARIABILI
Per stampare il contenuto di stringhe, variabili o il risultato di una espressione possiamo utilizzare la funzione
print ()
che stampa il messaggio di testo o il valore dell’espressione specificato sulla console e sposta il cursore verso il basso sulla riga successiva. Separando gli argomenti con una virgola come per esempio:
print ( “stringa1”, variabile1, … , “stringa2”, variabile2 )
si possono stampare diverse stringhe, variabili o risultati di espressioni sulla stessa riga.
ESEMPI
NOTA: Le linee che iniziano con il carattere # sono considerate commenti e pertanto ignorate. Questo vale anche quando il commento inizia dopo una linea di codice.


Pyhton as a Scientific Calculator
We have already all the tools that we need to used Python in Jupyter as a powerful calculator. Shall we see some example.


RISORSE ONLINE
Il sito ufficiale della distribuzione di Python:
Think Python:
http://greenteapress.com/thinkpython/html/index.html
The CODEACADEMY:
https://www.codecademy.com/learn/learn-python
REFERENCE
- M. Lutz and D. Ascher. Learning Python. O’Reilly, 2004.
- Allen B. Downey. Think Python: How to Think Like a Computer Scientist, 2nd edition. O’Reilly, 2015.