Accademia:Introduzione a Python

Panoramica

Perché innanzitutto il nome Python? Questo fu un tributo del suo creatore al suoi comici preferiti, i Monty Python. Prima di iniziare ad entrare nel vivo della lezione ecco un breve intermezzo, "La nascita dello spam":

VIDEO: la nascita dello SPAM

Come definireste Python? La pagina di Wikipedia elenca alcune delle sue peculiarità che meglio lo contraddistinguono e ne spiegano l'enorme successo:

  • linguaggio di programmazione di altissimo livello
  • linguaggio di programmazione multi-paradigma
  • linguaggio polivalente
  • linguaggio multi-piattaforma
  • linguaggio non compilato

Soffermiamoci un momento sui vari punti.

Un linguaggio è tanto più "di alto livello" quando più la sintassi è simile al linguaggio umano (e tanto più si allontana dal linguaggio macchina). Python ha una sintassi estremamente semplice, molto simile a "scrivere in inglese".

È multi-paradigma. Sebbene in Python, sotto il cofano, tutto sia un oggetto, sia la programmazione strutturata (come in C, in molti dialetti BASIC, in Pascal, ecc.) sia quella orientata agli oggetti (come in C++, Java, ecc.) sono del tutto naturali.

Si tratta di un linguaggio polivalente, non specializzato per alcun compito preciso. Il Python può infatti essere utilizzato nei contesti più disparati, per fare sostanzialmente qualsiasi cosa.

Multi-piattaforma significa che un programma scritto in Python gira nativamente su tutti i principali sistemi operativi: GNU/Linux, Mac OS, Windows, ecc. Si scrive una sola volta, si esegue ovunque. Essendo sostanzialmente un linguaggio interpretato (anche se tecnicamente non è così), non è necessario neppure fornire gli eseguibili per ciascuna piattaforma: è sufficiente il sorgente, che funziona dappertutto.

In effetti l'ultimo punto non è del tutto corretto. Il Python viene spesso definito come un linguaggio interpretato. In realtà ciò non è vero, ma dal punto di vista del programmatore è come se lo fosse. Senza dover trafficare con i compilatori, lo sviluppo e il debug sono molto più semplici e veloci.

Installazione

In questo corso useremo come sistema operativo di riferimento Debian Squeeze, che tra poche ore diventerà la nuova versione stabile del nostro sistema operativo preferito.

L'installazione è del tutto banale:

# aptitude install python3

Si tenga presente che il Python 3 così installato non interferisce minimamente con Python 2.6, che rimane la versione eseguita di default. Si può dunque installare l'interprete che useremo nelle nostre lezioni senza alcuna preoccupazione.

Come utilizzare Python

Se da terminale invocate Python, entrate nella modalità interattiva:

$ python3
Python 3.1.3 (r313:86834, Nov 28 2010, 10:01:07) 
GCC 4.4.5 on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Questo è ottimo per eseguire piccoli test e verificare immediatamente il funzionamento di alcuni comandi.

Digitiamo nel prompt:

>>> 2+1

e osserviamo il risultato.

Proviamo ora:

>>> name = "Pippo"
>>> name

Per chiudere la shell invocare la funzione di uscita exit() o, più semplicemente, premere Ctrl+D.

Anticipiamo ora un argomento che verrà affrontato in dettaglio più avanti: i //moduli//. I moduli in Python sono file di testo puro contenente codice Python, con estensione .py. Uno script in Python sarà dunque un listato raccolto in un file .py, che esegue un compito preciso.

Creiamo ora uno script basilare come il seguente e salviamolo come hello.py:

name = input("Come ti chiami? \n > ")
print("Ciao %s, buon inizio corso!" % name)

Il file appena creato, pur non essendo eseguibile, potrà essere comunque eseguito con il seguente comando:

python3 hello.py

Per rendere lo script autoeseguibile è necessario, oltre a rendere lo script eseguibile, specificare il programma con il quale eseguirlo. Questo è possibile inserendo alla prima riga dello script, analogamente a quanto si fa ad esempio per Bash, il codice:

#!/usr/bin/env python3

Nota bene: Python 3 utilizza di default la codifica UTF-8. È però buona regola evitare di inserire nei sorgenti caratteri non presenti nella tabella ASCII, come ad esempio le lettere accentate.

Rendiamo quindi lo script eseguibile:

chmod u+x hello.py

ed eseguiamolo:

./hello.py
Come ti chiami? 
 > Riccardo
Ciao Riccardo, buon inizio corso!

Cofigurare Geany

Esistono molti editor e ognuno è libero di scegliere quello che più lo aggrada, chi punta alla semplicità, chi alla completezza, chi alla comodità ecc.. Io personalmente ne cercavo uno semplice, gratuito e magari con un terminale integrato, senza dover passare sempre da una finestra all'altra. Così ho scelto Geany. Configurarlo per i nostri scopi è semplice,

  • se non volete usare xterm, ovvero un interprete dei comandi virtuale e preferite il nostro fidato terminale, inserite in

Modifica -> Preferenze -> Strumenti -> terminale -> gnome-terminal dove gnome-terminal stà per il comando che esegue il vostro terminale preferito, altrimenti lasciate xterm

  • invece è fondamentale indicare python3.1 come interprete :

Genera -> Set Build Commands -> Execute Commands e inserite //python3.1 "%f"// nella cella del comando

Ora potrete lavorare comodamente da qui, cliccando su esegui ogni volta che vorrete provare lo script, partirà in automatico il terminale da voi impostato.

Schermata-Set%20Build%20Commands.png