é posssibile definire e create funzioni e quinid metodi dell'oggetto

sintassi


argomenti



ritorno di un valore
le funzioni possono ritornare un valore

si usa
retrun valore
retrun valore, valore é possibile restituire più valori


esempio: ritorna il quadrato
def square(n):

return n**2

x = square(5)
x → 25

square(square(5))
→ 625


esempio: se negativo inverte il segno altrimenti lascia lo stesso segno
def abs(n):

if n < 0:
return -n # eseguito se n è negativo
return n # eseguito se n è positivo


esempio: ritorno di 2 valori
def midpoint(x1, y1, x2, y2):

xm = (x1 + x2) / 2
ym = (y1 + y2) / 2

return xm, ym

x, y = midpoint(2, 4, 8, 12)

risultato
x → 5.0
y → 8.0


scope delle variabili
valgono le regole viste in struttura - variabili

esempio: lista esterna modificata da una funzione
lista = [1, 2, 3, 4, 5] cero la lista iniziale
def add_elem(seq, elem):

seq.append(elem)


risultato
lista → [1, 2, 3, 4, 5] visualizzo lista iniziale

add_elem(lista, 6) passo la lista alla funzione con l'elemento nuovo
lista → [1, 2, 3, 4, 5, 6] visualizzo lista finale modificata