Cenni sulla sintassi Python
Da Hacknowledge.
Indice |
[modifica] Introduzione
La sintassi del Python differisce un po' da quella comunemente usata dai linguaggi di programmazione.
Vedremo che cambieranno alcune parole riservate e soprattutto l'identazione (che di solito genera qualche problema all'inizio).
[modifica] Parole chiavi
Il Python presenta le tipiche parole chiavi tipo if, else, for, while, global, break e così via. Differisce invece quello che sarebbe "else if" che viene contratto in elif. La parola chiave per definire una funzione è invece def. Per importare dei moduli si usa import, oppure from .. to..
[modifica] Identazione
Particolare di Python è sopratutto l'identazione dei blocchi: mentre in genere si usano le parentesi graffe per identare un blocco
{
blocco di istruzioni
}
dove { indica l'inizio del blocco e } la fine.
Nel Python invece l'identazione del blocco avviene mediante l'uso dei rientri dei due punti ( : ).
Vediamo per chiarezzo un esempio (questo codice non fa altro che verificare se il valore di variabile è maggiore di 1 e se si ne stampa il valore):
- Identazione in php dopo un if
if ($variabile>1) { echo $variabile; }
- Identazione in python dopo un if
if (variabile>1): print variabile
Il php rispetta la sintassi comune dell'uso delle parentesi graffe. Il python al contrario inserisce i : (due punti) alla fine della riga che denota l'inizio del blocco (che può essere un if, un for, la definizione di una funzione etc..) e poi tutto il codice racchiuso nel blocco avrà un rientro (uguale per tutto il blocco); di conseguenza rientri di misura diversi significano blocchi "di livello diverso". Vediamo un esempio di più blocchi in python:
global a global b a = 2 b = 3 def funzione(): if (a>1): print "a maggiore di 1" if (b<2): print "b minore di 2" for i in range(0,10); print i if (i==3): print "Ehilà, i è uguale a 3"
Vediamo che tutto il blocco dentro a funzione() è rientrato. Inoltre il contenuto degli if è a sua volta rientrato; stessa cosa per il ciclo for. Notiamo come il primo if e il for siano alle stesso livello, ovvero direttamente dipendenti dalla funzione. If (b<2) invece diptende da if(a>1) e di conseguenza è inserito all'interno del suo blocco.
Ecco un esempio schematico dei blocchi
Vediamo inoltre nel codice la presenza di global (che viene usato per rendere globale una variabile, ovvero utilizzabile senza problemi da ogni funzione) e di def. Approfondiremo poi l'uso di ogni parola chiave in seguito, nelle relative pagine.
[modifica] Importare dei moduli
Per importare dei moduli in python si usa
import modulo
Se vogliamo però importare solo una funzione da un modulo useremo invece
from modulo import funzione
Se come funzione viene usato * (asterisco), verranno importate tutte le funzioni di quel modulo.. A seconda del metodo usato per importare, sarà diverso l'uso delle funzioni nel codice.
Vediamo un esempio: vogliamo importare il modulo random per generare dei numeri random tra 0 e 1 (ovvero usare la funzione omonima random()). Il codice sarà:
import random numero_random = random.random()
Come si può vedere abbiamo usato import random e poi, al momento dell'uso, random.random(), ovvero modulo.funzione().
Questa scrittura è necessaria quando usiamo import modulo. Usando invece from modulo import funzione non è necessario
from random import random #oppure from random import * volendo importare tutti i moduli numero_random = random()

