Stampa  |  Nascondi immagini  |  Mostra immagini

Istruzioni di base


In questo capitolo intendo elencare i vari tipi di istruzioni presenti in python. Esse sono suddivise in categorie ben precise.
Particolare attenzione verra' posta per i costrutti che permettono di controllare il flusso di controllo delle istruzioni.

Riporto di seguito un elenco dei tipi di istruzioni presenti nel linguaggio:

è sempre buona norma commentare il codice, e quindi anche python offre una sintassi per i commenti.
Il carattere che identifica il commento è : "#". esso si può usare all'inizio della riga oppure alla fine di una istruzione.

In python è possibile assegnare un valore ad una variabile mediante l'operatore "=".
Ricordiamo che le variabili in python NON devono essere dichiarate, ma esse nascono durante la prima istruzione di assegnamento (esattamente come avveniva nel vecchio Basic). Nel momento del primo assegnamento viene anche deciso il tipo della variabile.
Una singolare possibilità offerta da python è rappresentata da l'assegnamento multiplo nel quale si possono inizializzare più variabili direttamente sulla stessa riga di codice. Per capire quest'ultimo concetto basta osservare l'esempio sottostante:

>>> a = 'viva python'
>>> b = 2
>>> c, d = 'su', 'html.it' # assegnamento multiplo
>>> print a,b,c,d
viva python 2 su html.it

Ricordiamo che le regole da seguire nella scelta dei nomi delle variabili è simile a quella dei più comuni linguaggi di programmazione, in particolare:

  • Ogni variabile deve iniziare con una lettera oppure con il carattere underscore "_", dopodiche' possono seguire lettere e numeri o il solito underscore.
  • Python è un linguaggio case sensitive, quindi distingue le variabili composte da caratteri minuscoli da quelle scritte con caratteri maiuscoli.
  • Esistono delle parole riservate che non possono essere utilizzate per i nomi delle variabili. Esse sono le seguenti:
    • and, assert, break, class, continue, def, del, elif, else, except,
    • exec, finally, for, from, global, if, import, in, is, lambda,
    • not, or, pass, print, raise, return, try, while

Il famoso costrutto "if else" che permette di eseguire gruppi di istruzioni diverse in base ad una prefissata condizione è molto semplice in python:

if <test1>:
<gruppo di istruzioni 1>
elif test2: # opzionale
<gruppo di istruzioni 2>
else: # opzionale
<gruppo di istruzioni 3>

Ricordiamo che i gruppi di istruzione devono essere indentati nello stesso modo in quanto è solo l'indentazione che permette di strutturare l'istruzione if else.
A differenza del C, o del Pascal, non esistono parole che delimitano l'inizio e la fine del blocco (le parentesi graffe del C o begin e end del pascal).
Da notare che i gruppi "elif" e "else" sono opzionali. Vediamo un piccolo esempio:

>>> a = 5
>>> if a == 5:
... print 'ok'
... elif a > 5:
... print 'troppo'
... else:
... print 'poco'
ok

Per effettuare dei cicli è possibile utilizzare due costrutti:

  • Il ciclo for che permette di iterare su una lista di elementi.
  • Il ciclo while che permette di fare un ciclo di tipo generale ponendo la condizione di uscita come prima istruzione del ciclo.

Vediamo la sintassi del costrutto for:

for <contatore del ciclo> in <lista>:
<gruppo di istruzioni 1>

Il contatore del ciclo è una variabile alla quale viene assegnato, ad ogni passo del ciclo, un valore della lista.
In questo modo all'interno del gruppo di istruzioni 1 è possibile operare sul singolo elemento della lista.
Vediamo un esempio:

>>> lista1 = ['a','b','c']
>>> for i in lista1:
... print i+','
a,
b,
c,

Il costrutto for sembra molto limitato perché, a differenza di altri linguaggi di programmazione, permette di operare solamente sulle liste.
In realtà questa piccola limitazione viene facilmente superata utilizzando la funzione "range".
La funzione range permette di costruire una lista di numeri partendo da 0 fino ad un valore scelto, in questo modo è sufficiente creare la lista da utilizzare nel costrutto for con questa istruzione per ottenere il medesimo risultato di altri linguaggi di programmazione. Vediamo un esempio che spiega bene questo trucco:

>>> lista2 = range(4)
>>> for i in lista2:
... print 'elemento' + str(i)
elemento 0
elemento 1
elemento 2
elemento 3

Notare che la lista ottenuta con range è una lista di numeri, e non di stringhe, questo è il motivo dell'utilizzo della funzione "str" per convertire il numero in stringa da stampare a video.
Se non si vuole cominciare da 0 basta indicare alla funzione range anche il valore iniziale.

>>> range(2,5)
[2,3,4]

Vediamo ora la sintassi del costrutto while:

while <test>:
<gruppo di istruzioni 1>

Questo costrutto è il più generale ciclo che esiste in python, infatti in questo caso non siamo legati ad alcuna variabile da assegnare in modo ciclico.
Siamo liberi di utilizzare una condizione qualsiasi. In questo caso si continua ad iterare nel ciclo fino a quando la condizione rimane vera, appena essa diventa falsa si esce dal ciclo e si eseguono le istruzioni successive.
Vediamo un esempio:

>>> a=0
>>> b=10
>>> while a<b:
... print a,
... a = a + 1
0 1 2 3 4 5 6 7 8 9

Quando si esegue un ciclo qualsiasi è sempre possibile forzare l'uscita dal ciclo in ogni momento, questo è possibile mediante degli appositi comandi, che elenco di seguito:

  • break - Questo comando permette di saltare fuori da un ciclo ignorando le restanti istruzioni da eseguire.
  • continue - Questo comando permette di saltare alla prima istruzione della prossima iterazione del ciclo.
  • else - Sia il ciclo for che il ciclo while hanno un costrutto aggiuntivo opzionale che permette di eseguire un blocco di istruzioni al verificarsi di una uscita forzata dal ciclo.

In conseguenza di quello appena detto la sintassi dei due costrutti di ciclo si estendono nel seguente modo:

for <contatore-del-ciclo> in <lista>:
<gruppo di istruzioni 1>
else:
<gruppo di istruzioni 2> # in seguito a un break

while <test>:
<gruppo di istruzioni 1>
else:
<gruppo di istruzioni 2> # in seguito a un break

>>> a = 0;
>>> b = 10;
>>> while a<b:
print a,
a = a + 1
if a == 5:
break;
else:
print 'a'
0 1 2 3 4

Nell'esempio sopra il ciclo si è interrotto quando la variabile a è diventata 5.



Versione originale: http://programmazione.html.it/guide/lezione/1295/istruzioni-di-base/

© 1997-2006 HTML.it
La vendita, il noleggio, il prestito e la diffusione del contenuto di questa pagina sono vietate, tranne nei casi specificati nella pagina http://www.html.it/info/note-legali.php