Una interessante introduzione al linguaggio Python ricca di esempi anche nel campo della matematica
di Allen B. Downey, Jeffrey Elkner e Chris Meyers
Traduzione di Alessandro Pocaterra
Un'altra introduzione più semplice è
“Tutorial per principianti in Python”
di Josh Cogliati
Versione in lingua italiana del "Tutorial per principianti in Python" a cura di Nicholas Wieland e Ferdinando Ferranti.
Anche l'autore del linguaggio Python, Guido van Rossum ha scritto una introduzione
di Guido van Rossum
Traduzione in italiano Ferdinando Ferranti e Riccardo Fabris,
Si possono inserire anche delle funzioni direttamente dalla tastiera con la seguente sintassi:
>>> def f(x): invio
... return 1/(1+x**2) invio
.... invio
Nella seconda riga il rientro è obbligatorio: la colonna da cui comincia return non può essere la stessa di def. Il doppio asterisco indica l'elevamento a potenza.
Una volta definita la funzione è possibile utilizzarla ad esempio scrivendo
>>> f(-2)
e verrà visualizzato il risultato. Più in generale la sintassi per scrivere una funzione è:
def nome_funzione(parametri):
istruzioni rientro obbligatorio
Tra una istruzione e l'altra basta andare a capo e scrivere con lo stesso rientro.
Per poter utilizzare determinate funzioni o metodi, è possibile importare “moduli” standard già previsti oppure nuovi definiti da chi usa il linguaggio. Ad esempio un modulo già previsto nel linguaggio è math che comprende alcune funzioni e costanti matematiche come ad esempio la radice quadrata sqrt, i logaritmi, le funzioni trigonometriche, la costante pigreco. Per utilizzare un modulo si deve scrivere:
import nome_modulo
Dopo ciò ogni funzione prevista nel modulo può essere richiamata con la sintassi nome_modulo.nome_funzione.
Esempio
>>> import math
>>> math.sqrt(4)
>>> math.pi
Esistono centinaia di moduli standards. Per avere un elenco di quelli subito disponibili, basta digitare nel python
>>> help()
e quindi modules
Un nuovo modulo può essere scritto da chi usa il linguaggio ed essere importato nello stesso modo a patto che il python venga eseguito nella stessa directory dove è memorizzato il file corrispondente.
Esempio
In un file scriviamo due funzioni (vedi dopo utilizzare IDLE) una per il fattoriale e una per calcolare i coefficienti binomiali
def fattoriale(n):
if n==0:
return 1L
else:
return n*fattoriale(n-1)
def binomiale(n,k):
if k==0:
return 1L
else:
return fattoriale(n)/(fattoriale(k)*fattoriale(n-k))
La strana L dopo 1 avvisa il python di utilizzare interi molto lunghi.
Visto che = è l'operatore assegnazione, l'operatore confronto è == ovvero due uguali.
La funzione fattoriale è un notevole esempio di funzione ricorsiva: il fattoriale di zero è uno altrimenti (else) il fattoriale di n è dato da n per il fattoriale di n-1. Da notare i successivi rientri che sono obbligatori perchè delimitano le istruzioni.
Memorizzato il file dando come estensione .py abbiamo creato un modulo; si esegua il python a partire dalla directory che contiene il file appena creato. Si può adesso importare il modulo
>>> import nome_modulo
Utilizzare quindi le due funzioni nome_modulo.fattoriale(n) e nome_modulo.binomiale(n,k)
Sia in ambiente Windows che Linux, è disponibile un programma
scritto con il Python stesso che permette di scrivere e provare
programmi in Python:
IDLE
Integrated Development Environmet
Con questo programma si ha a disposizione un "editor" per scrivere
programmi in Python ed eseguirli.
Per scrivere un nuovo modulo di funzioni oppure un insieme di
comandi, entrati nella IDLE si può utilizzare dal menù File New Window.
Appare una pagina bianca su cui si può scrivere. Dopo aver memorizzato
il file con una estensione .py, si ritorna nell'ambiente iniziale
(Python Shell) e da lì si può importare il modulo di funzioni per
poterle quindi eseguire.
Se si tratta di comandi, dopo aver memorizzato il file, essi possono
essere eseguiti se si utilizza il menù Run Run Module.
Esempio
Scrivere in un file
def f(x):
return 1/(2.0+x**2)
x = 0
while x<=1:
print x,'\t', f(x)
x = x+0.2
Nella definizione di funzione, 2.0 indica l'uso di numeri decimali. Dopo aver assegnato un valore alla variabile x, inizia un ciclo di ripetizioni while ovvero mentre x è minore od uguale ad 1, stampa x ed f(x) separati dalla tabulazione che viene indicata dalla stringa '\t'
Dopo aver memorizzato il file con estensione .py, eseguirlo con il menù Run Run Module.Per eseguire un
programma
In ambiente Linux, scrivere un file di testo e memorizzarlo con
estensione .py. Da
riga di comando digitare
$ python nome_file.py
oppure
$ python -i nome_file.py
-i sta per interattivo cioè permette l'esecuzione di altre istruzioni dopo aver eseguite quelle contenute nel file.
Il file di testo con il programma viene spesso chiamato script.
da un terminale o shell dopo aver cambiato directory spostandosi dove è salvato il file, scrivere:
$ python nome_file.py
metodo |
notazione infissa |
a.unione(b) |
a | b |
a.intersection(b) |
a & b |
a.difference(b) |
a - b |
a.issubset(b) |
a <= b |
a.issuperset(b) |
a >= b |
Scalette e programmi per un corso
sul Python