Le Funzioni in Python

Scritto da ambrix on . Postato in Corsi Programmazione, NotInHome

logo python ambrix.net

Lezione#08 Benvenuti all’ottava lezione del corso Python in 11 passi: analizziamo le Funzioni.

Le Funzioni in Python permettono di raggruppare una sequenza di istruzioni che eseguono un compito specifico. Ad esempio, print() e str() sono funzioni proprie del linguaggio Python.

# script_801.py
print(Hello, World!)

Hello, World!

In generale richiamiamo una funzione utilizzando il suo nome seguito da parentesi tonde in cui immettiamo un argomento. Ma come appena scritto esistono funzioni predefinite e proprie del Python, tuttavia possiamo crearne di nuove, definendole manualmente (custom functions).

# script_802.py
def saluta():
print("Ciao a tutti!")

saluta()

Ciao a tutti!

Abbiamo appena creato la funzione saluta() utilizzando l’istruzione def seguita dai due punti. Vediamo un nuovo esempio:

# script_803.py
def saluta(nome):
print("Ciao " + nome + "!")

saluta("John")

Ciao John!

In quest’ultimo caso abbiamo passato il parametro nome alla funzione. I parametri sono variabili temporanee che ci consentono di dare un valore in pasto alle funzioni.

Creiamo una funzione che converte i Dollari in Euro.

# script_804.py
def euro_conv(dollar):
 euro = dollar * 1.13 #tasso di cambio alla data di oggi
 return euro

euro = euro_conv(89)
print(str(euro) + "€")

100.57€

Ok! Abbiamo usato la keyword return che permette di rendere disponibile il valore calcolato dalla funzione. Vediamo ancora un esempio al riguardo:

# script_805.py
def dollar_conv(euro):
 dollar = euro / 1.13 #tasso di cambio alla data di oggi
 return dollar

dollar = dollar_conv(100.57)
print(str(dollar) + "$")

89.0$

Ben fatto! Ora abbiamo i nostri convertitori di valute. Ma proviamo a complicare le cose, creiamo un convertitore multiplo di valute:

# script_806.py
def mconv(numb):
    mylist = []
    for n in numb:
        mylist.append(n*1.13)
        myRoundedList = [round(x,2) for x in mylist]
    return myRoundedList

seq_d = [1,5,10,50,100]
seq_e = mconv(seq_d)
print(seq_e)

[1.13, 5.65, 11.3, 56.5, 113.0]

Benissimo! Abbiamo ottenuto il nostro multi-converter da Dollari a Euro. La funzione round() è utile per arrotondare un numero con tante cifre dopo la virgola quante se ne desiderano.

Come già visto nelle lezioni precedenti, possiamo avere liste e cicli annidati. Anche nel caso in questione, possiamo inserire funzioni all’interno di altre funzioni:

# script_807.py
def euro_conv(dollar):
    euro = round(dollar * 1.13) # tasso di cambio alla data di oggi
    return euro

def price(dollar):
    euro = euro_conv(dollar)
    print("Il costo è di " + str(dollar) + "$" + " oppure di " + str(euro) + "€")

price(700)

Il costo è di 700$ oppure di circa 791€

# script_808.py
def factorial(n):
 if n == 1:
  return 1
 else:
  return (n * factorial(n-1))
x = factorial(5)
print(x)

120

Ricapitolando: abbiamo visto come è possibile usare funzioni predefinite in Python, ma anche come crearne di nuove (custom functions). Per concludere la lezione consideriamo un esempio finale:

# script_809.py
def chars(string):
 chars = []
 for x in string:
  chars.append(x)
 return (chars)
x = chars("TNT")
print(x)

[‘T’, ‘N’, ‘T’]

 

Lezione precedente <– []–> Lezione successiva

 

Per Richieste, Avvisi e Lasciti Ereditari

Disclaimer

I contenuti di questo Blog (testi, immagini, foto, etc.) sono di mia creazione, tranne nei casi dove espressamente indicato.