Python versione Bignami - Funzioni
-
Classiche:
def somma(a, b): return a + b print somma(4, 6) -
Parametri di default:
def eleva(base, exp=2): return base ** exp print eleva(4) # Quadrato print eleva(4, 3) # Cubo -
Chiamare i parametri per nome:
def login(host="", user="", password=""): ... login(user="test", host="test.org") -
Funzioni generatrici:
# Genera infinite potenze di un numero def potenze(num): p = num while True: yield p p *= num # Stampa potenze di 2 all'infinito for x in potenze(2): print x
Funzioni come valori
def quadrato(num):
return num ** 2
a = quadrato
print a(2) # Stampa 4
# Crea un vettore di quadrati
from numpy import *
squares = fromfunction(a, (10,))
Definizione al volo di funzioni
pitagora = lambda x, y : sqrt(x**2 + y**2)
a = pitagora(3, 4)
a = numpy.fromfunction(pitagora, (3, 4))
a = numpy.fromfunction(lambda r, c: r * 10 + c, (3, 4))