Funzioni annidate in Python
Per abbreviare il codice, quando si chiamano le funzioni, è possibile annidarle l'una dentro l'altra.
Supponiamo di avere funzioni per elevare un numero al quadrato, al cubo e per sommare due numeri:
def square(num):
return num ** 2
def cube(num):
return num ** 3
def add(num1, num2):
return num1 + num2
Per ottenere la somma del quadrato e del cubo di un numero,
possiamo annidarle nei parametri della funzione add
quando la chiamiamo:
res = add(square(2), cube(4))
print(res) # visualizzerà 68
Inoltre, è possibile chiamare le funzioni anche
all'interno del corpo di un'altra funzione. Riscriviamo
l'esempio precedente e chiamiamo le funzioni all'interno
di add:
def add(num1, num2):
return square(num1) + cube(num2)
res = add(2, 4)
print(res) # visualizzerà 68
Crea una funzione che eleva un numero al quadrato e una funzione per ottenere il cubo di un numero. Poi, utilizzandole, crea una funzione che visualizzi a schermo il cubo del quadrato di un numero.
Crea una funzione che verifichi il tipo di una variabile e se la variabile è una stringa, la visualizzi con la lettera maiuscola. Poi crea una funzione che saluti l'utente per nome. Annida al suo interno la prima funzione in modo che il nome venga sempre visualizzato con la lettera maiuscola.