Python.it    Tutorial       Guida Python     Pensare da informatico    Imparare a programmare       un blog   

 wiki ubuntu     Programmare in Python/Qt – parte 1     I fondamenti    

HOWTO sulle Espressioni Regolari (Il modulo re)    wikipedia          Tutorial per principianti in Python    
( Contenuti Python Documentazione 3.5  -   in inglese )     Python elementare     Università Parma         

Tutorial (EN)        

string - Lavorare con il testo (Python 2.5)      

String constants --> traduzione                   

The Python Standard Library ---> traduzione

Pyton di riferimento tradotto  

The Python Language Reference              

 


 

Come configurare e usare l'interprete interattivo Python     
Per uscire dal terminale interattivo Python, usiamo Ctrl+D in ambiente linux ubuntu.
oppure digitando il seguente comando in una finestra di terminale: >>> exit()

Per lanciare l'interprete interattivo: Aprire un terminale e digitare: python    

Spostarsi nella cartella contenente il file tramite il comando: cd 

Programmazione Python con IDLE

 Installare l'IDLE in Ubuntu: sudo apt-get install idle

Aprire una finestra di terminale e digitare: 'idle'. (senza le virgolette). Vedrete la shell Python grafica caricato.

 


 

Le parole riservate di Python sono 28 e sono le seguenti:

and

continue

else

for

import

not

raise

assert

def

except

from

in

or

return

break

del

exec

global

is

pass

try

class

elif

finally

if

lambda

print

while

 

 Variabili, espressioni ed istruzioni

 Quando scrivi numeri grandi puoi essere tentato di usare dei punti per delimitare i gruppi di tre cifre, come in 1.000.000. Questa in effetti non è una cosa consentita in Python ed il valore numerico in questo caso non è valido. È invece corretta una scrittura del tipo

>>> print 1,000,000
1 0 0

...anche se probabilmente questo risultato non è quello che ci si aspettava! Python interpreta 1,000,000 come una lista di tre valori da stampare (1, 0 e 0). Ricordati di non inserire virgole nei tuoi interi.

 Quando una variabile compare al posto di un operando essa è rimpiazzata dal valore che rappresenta prima che l'operazione sia eseguita.

Quando entrambi gli operandi sono numeri interi il risultato è sempre un numero intero e per convenzione la divisione tra numeri interi restituisce sempre un numero arrotondato all'intero inferiore (arrotondamento verso il basso), anche nel caso in cui il risultato sia molto vicino all'intero superiore.

Conversione di tipo

La funzione int prende ogni valore e lo converte, se possibile, in intero. Se la conversione non è possibile mostra un messaggio d'errore:

La funzione float converte interi e stringhe in numeri in virgola mobile

Infine str converte al tipo stringa

Prima di poter usare le funzioni di un modulo dobbiamo dire all'interprete di caricare il modulo in memoria. Questa operazione viene detta "importazione":

3.4 Funzioni matematiche

Prima di poter usare le funzioni di un modulo dobbiamo dire all'interprete di caricare il modulo in memoria. Questa operazione viene detta "importazione":

>>> import math

Per chiamare una funzione di un modulo dobbiamo specificare il nome del modulo che la contiene e il nome della funzione separati da un punto. Questo formato è chiamato notazione punto.

sin e le altre funzioni trigonometriche (cos, tan, etc.) accettano argomenti in radianti e non i gradi

Aggiungere nuove funzioni

La sintassi per la definizione di una funzione è:

def NOME( LISTA_DEI_PARAMETRI ):
  ISTRUZIONI

 

l'operatore modulo è rappresentato dal segno percentuale (%)

if-elif-else

Il costrutto if-elif-else permette di eseguire istruzioni o gruppi di istruzioni diverse a seconda del verificarsi di una condizione:

if condizione1:
    <gruppo di istruzioni 1>
elif condizione2:               # opzionale
    <gruppo di istruzioni 2>

...

elif condizione(n-1):           # opzionale
    <gruppo di istruzioni (n-1)>
else:                           # opzionale
    <gruppo di istruzioni n>

 

if x > 0:
  print ("x e' positivo")

L'intestazione inizia su di una nuova riga e termina con il segno di due punti

if x > 0:
  pass

l'istruzione pass, è solo un segnaposto e non fa niente

Una seconda forma di istruzione if è l'esecuzione alternativa

if x%2 == 0:
  print( x, "e' pari")
else:
  print( x, "e' dispari")

if 0 < x < 10:
  print "x e' un numero positivo."

L'istruzione return ti permette di terminare l'esecuzione di una funzione prima di raggiungerne la fine. Questo può servire quando viene riconosciuta una condizione d'errore:

 

Ciclo while

Il ciclo while è il più generico tra i cicli perché non strettamente collegato a variabili, ma ad una semplice condizione di controllo. Eccone la sintassi in Python:

while condizione:
    <gruppo di istruzioni>

Il comportamento prevede l’esecuzione delle istruzioni all’interno de ciclo finché la condizione rimane verificata. Si esce dal ciclo (o non vi si entra proprio) quando la condizione è falsa.

 

Il ciclo for è un’altro dei costrutti più noti e comuni nei linguaggi di programmazione, tipicamente prevede un contatore che viene incrementato fino al raggiungimento di un certo valore, che stabilisce l’uscita dal ciclo.

Vediamo come è concepito in Python, ecco la sintassi:

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

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 è possibile operare sul singolo elemento della lista.

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.

 

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 ciclo for con questa istruzione per ottenere il medesimo risultato di altri linguaggi di programmazione. Vediamo un esempio che spiega bene questo trucco:

lista = range(4)
for i in lista:
  print(i);

for i in range(10):
    print(i)

 

Forzare l’uscita dal ciclo

È sempre possibile forzare l’uscita dal ciclo (qualsiasi ciclo) in ogni momento, grazie ad alcuni comandi:

ComandoDescrizione
break permette di saltare fuori da un ciclo ignorando le restanti istruzioni da eseguire
continue 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 all’uscita dal ciclo, queste istruzioni vengono ignorate se usciamo dal ciclo con un break

 

Come conseguenza le sintassi dei due cicli 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
    a=a+1
    print(a)
    if a==5:
        break
else:
    print('sono uscito')
     
1 2 3 4

break impedisce l’esecuzione del blocco else del while.

 

L’istruzione pass

L’istruzione pass è un operazione nulla, quando viene eseguita non succede nulla, è utile come segnaposto.


 

stampare sulla stessa riga:  print(a, end='  ')  

 Stringhe

La funzione len ritorna il numero di caratteri di una stringa:

l'espressione Frutto[-1] ritorna l'ultimo carattere della stringa

 L'operatore [n:m] ritorna la stringa a partire dall' "n-esimo" carattere incluso fino all' "m-esimo" escluso.

 

Funzioni incorporate

  Built-in Functions  
abs() dict() help() min() setattr()
all() dir() hex() next() slice()
any() divmod() id() object() sorted()
ascii() enumerate() input() oct() staticmethod()
bin() eval() int() open() str()
bool() exec() isinstance() ord() sum()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round()  
delattr() hash() memoryview() set()