About

Swaroop C H is 29 years of age. He is a coder and startupper. He has previously worked at Yahoo!, Adobe, his own startup and Infibeam.

Read more about him

Views
Personal tools
COLLECTION
Collection

Python it:Primi Passi

From Notes

Jump to: navigation, search

Contents

Introduzione

Verrà ora preso in esame come realizzare il classico programma 'Hello World' in Python. Questo spiegherà come scrivere, salvare ed eseguire i programmi Python.

Esistono due modi di usare Python per eseguire un programma: l'interprete interattivo di comandi o l´uso di un programma sorgente. Prendiamoli in considerazione entrambi.

Uso dell'interprete dei comandi

Per richiamare l'interprete si invoca direttamente il comando python da una shell.

Gli utenti Windows saranno in grado di eseguire l'interprete da linea di comando se hanno impostato la variabile PATH in modo appropriato.

Se si sta usando IDLE, cliccare su StartProgramsPython 3.0IDLE (Python GUI).

Al prompt si digita print ('Hello World') seguito dal tasto Enter.

Si dovrebbe vedere Hello World come output.

   $ python
   Python 3.0b2 (r30b2:65106, Jul 18 2008, 18:44:17) [MSC v.1500 32 bit (Intel)] on win32
   Type "help", "copyright", "credits" or "license" for more information.
   >>> print('Hello World')
   Hello World
   >>>

Da notare che Python rende immediatamente l´output di linea! Quella inserita corrisponde ad una singola istruzione Python. Si usa print per stampare (incredibile!) ogni valore passato. Nel caso d´esempio viene passata la la stringa di testo Hello World ed esattamente la stessa viene stampata a video.

Chiudere l´interprete di comandi Python
Per terminare l´applicazione, digitare Ctrl-d se si sta usando IDLE o una qualunque shell Linux/BSD. Nel caso di Windows, premere Ctrl-z seguito dal tasto Enter.

La scelta dell'editor

Prima di iniziare a scrivere un codice sorgente in Python, si deve scegliere un editor adatto. La scelta dell´editor è sempre cruciale, come la scelta da valutare nell´acquisto di un´automobile. Un buon editor può facilitare la scrittura dei programmi Python, rendere il percorso più comodo, aiutare a raggiungere prima e meglio la destinazione (realizzare il proprio obiettivo).

Uno dei requisiti minimi è il syntax highlighting, cioè la possibilità di poter assegnare un colore diverso a segmenti differenti di codice Python in modo da riconoscere le istruzioni nel programma.

Gli utenti Windows possono usare IDLE. IDLE ha il syntax highlighting e molte altre funzionalità che permettono di eseguire facilmente codice Pyhton. Attenzione: NON USARE NOTEPAD!, è il peggior programma per scrivere codice Python (non ha syntax highlighting, né supporta l´indentazione del testo). Un buon editor (come quello integrato in EDLE, oppure VIM) aiuta nella stesura.

Gli utenti Linux/FreeBSD hanno ampia scelta di editors. Gli esperti conoscono senz´altro le potenzialità di VIM e Emacs. Inutile dire che quelli citati sono gli editor più potenti e popolari, impiegati con soddisfazione anche dai programmatori Python. Personalmente ho scelto di usare VIM per scrivere la maggior parte dei miei programmi. I novizi possono usare Kate, un altro buon editor. A chi ha pianificato di spendere un po' di tempo per imparare ad usare un editor, consiglio caldamente di imparare ad usare VIM e Emacs, cosa che tornerà senz´altro utile nel medio/lungo termine.

In questo libro verrà utilizzato IDLE anche perché viene installato di default sia su Windows che su Mac OS X durante l'installazione di Python. E' disponibile anche per Linux e BSD nei rispettivi repository.

IDLE verrà esaminato nella prossima sezione. Per maggiori dettagli far riferimento alla documentazione di IDLE.


Per chi volesse valutare altre possibilità, potrebbe essere utile consultare la lunga lista di editor nonché i vari ambienti di sviluppo IDE (Integrated Development Environment) per Python. Consultare la lista di IDE supportati da Python per maggiori dettagli. Quando si iniziano a scrivere grossi programmi, un IDE può essere sicuramente di aiuto.

Lo ripeto di nuovo: la scelta di un editor adatto permette di scrivere programmi Python in modo più semplice e divertente.


Per utenti Vim
C'è una buona introduzione su come rendere Vim un potente IDE Python di John M Anderson.
Per utenti Emacs
C'è una buona introduzione su come rendere Emacs un potente IDE Python IDE di Ryan McGuire.


Usare codice sorgente

Torniamo alla programmazione. Tradizione vuole che ogni qual volta si impari un nuovo linguaggio, il primo programma da scrivere e far funzionare deve essere in grado di stampare 'Hello World´. Come dice Simon Cozen [1] 'traditional incantation to the programming gods to help you learn the language better' (N.d.T. la magia tradizionale degli dèi della programmazione aiutano ad imparare meglio il linguaggio).

Aprire l´editor, scrivere il seguente programma e salvarlo con il nome helloworld.py

#!/usr/bin/python 
#Filename: helloworld.py
 
print('Hello World')

Eseguire il programma aprendo una shell (terminale Linux o prompt DOS) e digitare il comando python helloworld.py.

Da IDLE, accedere al menù Edit -> Run Script od usare la scorciatoia Ctrl-F5.

Ecco l'output:

   $ python helloworld.py
   Hello World

Nel caso l'output sia proprio quello mostrato, congratulazioni! Il primo programma in scritto in python funziona davvero.

Se c'è un errore, occorre riguardare il programma accertandosi che sia scritto esattamente come indicato; dopo aver corretto eventuali differenze, eseguire nuovamente il programma. Si noti che Python è case-sensitive, distingue cioè il comando print dal comando Print. (Si noti la differenza tra il carattere p in minuscolo e il carattere P in maiuscolo). Occorre anche prestare attenzione alla spaziatura: non sono ammessi spazi o caratteri di tabulazione prima del carattere iniziale di ogni linea. Vedere più avanti per ulteriori approfondimenti su questo argomento.

Funzionamento

Consideriamo le prime due righe di codice. Sono chiamate commenti e sono riconoscibili per la presenza del simbolo # prima di un testo esplicativo, che generalmente contiene note utili per il lettore.

Python non fa uso di commenti eccetto per il caso speciale della shebang line, la prima riga di codice che contiene i caratteri #! che marcano l'inizio di uno script o di un interprete; nel nostro caso istruisce il sistema a richiamare l'interprete indicato per eseguire il programma. Questa parte sarà spiegata in dettaglio nella prossima sezione. Si noti che in ogni piattaforma è sempre possibile eseguire il programma invocando direttamente il programma da linea di comando e passando come parametro il codice sorgente da mandare in esecuzione, come ad esempio: python helloworld.py.

Importante
I commenti sono comunque utili all´interno di un programma per aggiungere dettagli esplicativi per il lettore il quale potrà così capire esattamente cosa fa il programma. Da ricordare che il lettore potreste essere voi tra sei mesi!

I commenti sono seguiti da un'istruzione Python. In questo caso si usa la funzione print che stampa il testo 'Hello World'. Le funzioni verranno trattate in un capitolo successivo, quello che occorre capire ora è che qualsiasi cosa venga posta tra le parentesi verrà stampato a video. Nell'esempio viene usato il testo 'Hello World' a cui ci si riferisce come stringa. Questa terminologia sarà presa in esame in seguito.

Programmi Python eseguibili

Quanto descritto in seguito si applica alle piattaforme Linux/Unix; gli utenti Windows possono solo approfondire il significato della prima linea del programma. Prima di tutto devono essere impostati correttamente i permessi relativi al file da eseguire; ciò vien fatto con il comando chmod seguito dall' impostazione dell´attributo. Il programma sorgente potrà poi essere eseguito direttamente.


   $ chmod a+x helloworld.py
   $ ./helloworld.py
   Hello World

Il comando chmod viene usato per cambiare la modalità del file rendendolo eseguibile ed accessibile a tutti gli utenti del sistema (in inglese rende meglio l'idea: change mode of the file by giving execute permission to all users of the system). A questo punto il programma può partire direttamente specificando la locazione del sorgente. Di solito basta far precedere i caratteri ./ al nome del sorgente, ad indicare che è proprio nella directory corrente.

Per migliorare ulteriormente le cose, si potrebbe rinominare il file con un chiarissimo helloworld ed eseguirlo con ./helloworld; starà all´interprete specificato nella prima linea di codice occuparsi di farlo eseguire.

A questo punto si è in grado di eseguire un qualunque programma Python conoscendo esattamente il path esatto ove risiede il sorgente. E se volessimo eseguire il programma indipendentemente dalla sua locazione? È sufficiente salvare il sorgente in una delle directory accessibili dalla variabile PATH. Quando viene richiamato un programma in esecuzione, il sistema lo cerca nelle directory specificate nella variabile ambiente PATH e, se la ricerca ha avuto successo, lo esegue. Per rendere visibile un programma, è sufficiente quindi salvarlo in una delle directory contenute nella variabile PATH.

   $ echo $PATH
   /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/swaroop/bin
   $ cp helloworld.py /home/swaroop/bin/helloworld
   $ helloworld
   Hello World


Il contenuto della variabile ambiente PATH può essere visualizzato con il comando echo seguito dal nome della variabile preceduto dal carattere $ (ad indicare alla shell che si intende accedere al contenuto della variabile). Come si può notare /home/swaroop/bin è una delle directory della variabile PATH, in cui swaroop è il nome utente con cui sono riconosciuto dal sistema. Devrebbe esistere una directory simile per il vostro utente nel sistema in uso. Alternativamente si può aggiungere una nuova directory all'elenco preesistente con il comando PATH=$PATH:/home/swaroop/mydir dove '/home/swaroop/mydir' è appunto la nuova directory da aggiungere alla lista della variabile PATH.

Questo metodo è comodo per scripts di servizio che devono poter essere sempre accessibili; equivale a creare un nuovo comando tipo cd o altri comandi utilizzabili dal terminale Linux o dal prompt di DOS.

Avvertimento
in Python un programma, uno script o un software indicano tutti la stessa cosa.

Come ottenere aiuto

Un rapido accesso alle informazioni di base relative ad un comando o ad una funzione di Python può essere ottenuto direttamente dall'help, una funzione integrata nell´interprete dei comandi. Questo si rivela molto utile quando si usa direttamente l'interprete di comandi Python. Per esempio, il comando help(print) riporta l´help della funzione print usata per stampare qualcosa a schermo.

Nota
Premere q per uscire dall'help.

In modo simile, si possono ottenrere informazioni su quasi tutto in Python. Usare help() per conoscere meglio l'help stesso!

Nel caso si necessiti di ottenere aiuto per operatori come return è necessario porli tra apici o virgolette come nel caso di help('return') in modo tale che Python non confonda quello che si sta provando di fare.

Sommario

A questo punto si deve essere in grado di scrivere, salvare ed eseguire semplici programmi Python. Ora che siamo utenti Python, poniamoci l'obiettivo di approfondirne i concetti di base.



RIferimenti:

  1. uno dei maggiori hackers di Perl6/Parrot nonché autore del famoso libro ´Beginning Perl´

Please add your comments by clicking on the 'Discussion' link in the left sidebar.