Struttura del programma

Commenti

Il commento inizia con il carattere # e finisce alla fine della riga

# Commento per una sezione significativa di codice
# ...
# ...
print("Ciao mondo") # Commento per la singola istruzione

Sequenza

Istruzioni consecutive si scrivono in colonna (la prima…)

istruzione1
istruzione2
...

Anche sulla stessa riga, ma separate dal punto e virgola

istruzione1; istruzione2; ...

Posizione

Sebbene alcune istruzioni, come l’importazione delle librerie o la definizione di costanti, possano essere inserite subito prima del loro bisogno si preferisce mantenere lo stile, più ordinato, degli altri linguaggi e inserirle all’inizio del file sorgente

#------------------------ Moduli
import math
import random
#------------------------ Costanti
SCONTO=0.30
...
#------------------------ Variabili
prezzo=10.5
...
#------------------------ Elaborazione
prezzo=prezzo*(1-SCONTO)
...

Istruzioni di controllo

Le istruzioni di controllo finiscono con i due punti : e sono seguite dalla sequenza di istruzioni controllate

if ...:
    istruzione11
    istruzione12

for ...:
    istruzione21 
    istruzione22

while ...:
    istruzione31 
    istruzione32

def ...:
    istruzione41
    istruzione42

Attenzione

  1. se è costituita da una sola istruzione può essere sulla stessa linea
  2. la sequenza controllata non ha etichetta iniziale e finale (come negli altri linguaggi)
  3. ma la sua indentazione è obbligatoria
  4. il numero di spazi che la precedono è libero
  5. ma il numero di spazi non può cambiare nella stessa sequenza!
if ...:              #
    istruzione11     # 4 spazi
    istruzione12     # ...

if ...:              #
  istruzione21       # 2 spazi (funziona lo stesso) 
  istruzione22       # ...

if ...:              # NON FUNZIONA
    istruzione31     # NON FUNZIONA
  istruzione32       # NON FUNZIONA


if ...: istruzione4  # Una sola istruzione in linea

if ...:              #
    istruzione51     # 4 spazi
    istruzione52     # ...
else:                # 
  istruzione61       # 2 spazi, funziona ma due righe prima... perché cambiare???
  istruzione62       # ...

Linee spezzate?

Se un’istruzione è troppo lunga (supera 79 caratteri…) oppure se si vuole migliorare la leggibilità può essere spezzata e completata nella riga successiva

  • si può sempre fare se è rimasta aperta una parentesi tonda, quadra o graffa di una struttura dati
  • altrimenti si utilizza il carattere \
COLORI = ("black", "blue", "cyan", "green", "magenta", 
          "red", "white", "yellow")

if(alfa == beta) or (alfa == gamma) or \
    (beta == gamma):