Una introduzione alla programmazione in Python

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/

L’ Anaconda Navigator

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 comandoDescrizione
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
eIl valore della constante di Neper
piil 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:

https://www.python.org

Think Python:

 http://greenteapress.com/thinkpython/html/index.html

The CODEACADEMY:

https://www.codecademy.com/learn/learn-python

REFERENCE

  1. M. Lutz and D. Ascher. Learning Python. O’Reilly, 2004. 
  2. Allen B. Downey. Think Python: How to Think Like a Computer Scientist, 2nd edition. O’Reilly, 2015.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.