Site icon Meccanismo Complesso

Lezioni di Python – 3.6 Funzioni come oggetti

Python Lessons - 3.6 Functions as objects m
Lezioni di Python - 3.6 Funzioni come oggetti

Funzioni come variabili

In Python qualsiasi cosa può essere considerato come una variabile, persino le funzioni. Infatti, anche se può essere all’inizio poco intuitivo è possibile assegnare una funzione ad una variabile, in questo modo è come se avessimo dato un nuovo nome alla variabile.

def foo():
     print("Hello World")

variabile = foo
variabile()

Eseguendo si ottiene

>>>
Hello World

L’assegnazione di una variabile di una funzione è ben riconoscibile rispetto all’assegnazione di un valore restituito di una funzione ad una variabile, poichè il nome della funzione compare senza parentesi tonde.

variabile = foo   # funzione come valore della variabile

variabile = foo() # valore restituito della funzione come valore della variabile

Funzioni come argomenti di altre funzioni

Attenzione a non confondersi anche qui con il caso del valore restuito. Qui è l’intera funzione che viene passata come argomento di una funzione. Riconoscibile anche qui per il fatto che la funzione non presenta le parentesi tonde.

def mix(a,b):
     return (a * b)/2

def foo(func,x,y):
     return func(x,y)

print(foo(mix,2,3)) 

Eseguendo questo codice si ottiene

>>>
3.0

⇐ Vai a Lezione 3.5 – Commenti e Docstrings

Vai a Lezione 3.7 – Moduli 

Exit mobile version