Funzioni Definite dall'Utente
Una funzione definita dall'utente è un blocco di codice che crei per eseguire un compito specifico. A differenza delle funzioni integrate, fornite da Python, le funzioni definite dall'utente vengono scritte da te per risolvere problemi specifici nei tuoi programmi. Una volta definite, queste funzioni possono essere riutilizzate più volte, rendendo il codice più organizzato, efficiente e facile da mantenere.
Ora, osserviamo come Alex dimostra la creazione e l'utilizzo di funzioni definite dall'utente per semplificare i compiti:
La struttura di base di una funzione definita dall'utente in Python è la seguente:
python
def
: questa parola chiave viene utilizzata per iniziare la definizione di una funzione;function_name
: questo è il nome che assegni alla funzione. Dovrebbe essere descrittivo rispetto a ciò che la funzione esegue, rendendo il codice più leggibile;argument_1, argument_2
: questi sono i nomi delle variabili che passi alla funzione. Agiscono come segnaposto per i valori che fornirai quando chiamerai la funzione. Una funzione può avere zero o più parametri;I due punti
:
indicano l'inizio del blocco di codice della funzione;# Code block
: questo è il corpo della funzione, dove scrivi il codice che la funzione eseguirà. Deve essere indentato come quando si scrivono cicli o istruzioni condizionali;return
: questa istruzione viene utilizzata per uscire dalla funzione e restituire un risultato. Non tutte le funzioni necessitano di una dichiarazione return, ma è utile quando vuoi restituire un valore al punto in cui la funzione è stata chiamata.
Parametri e Argomenti
I parametri sono le variabili elencate tra parentesi nella definizione della funzione. Vengono utilizzati per ricevere i valori (argomenti) passati alla funzione.
Gli argomenti sono i valori effettivi che fornisci alla funzione quando la chiami. Questi valori vengono assegnati ai parametri della funzione.
def greet_customer(name): print(f"Hello, {name}! Welcome to our store.") greet_customer("Alice")
Nota
Nell'esempio sopra,
name
è il parametro, e la stringa"Alice"
è l'argomento.
Funzioni Void
Come mostrato sopra, non tutte le funzioni devono restituire un valore. Alcune funzioni eseguono un'operazione ma non restituiscono nulla al chiamante. Queste sono note come funzioni void.
In Python, una funzione void è una funzione definita dall'utente che non contiene un'istruzione return
oppure ha un'istruzione return
che non restituisce alcun valore. In entrambi i casi, la funzione restituirà None
per impostazione predefinita.
Nell'esempio sopra, greet_customer()
è una funzione void perché esegue l'azione di stampare un saluto ma non restituisce alcun risultato che possa essere memorizzato o utilizzato altrove nel programma.
Esempio di Funzione Void
Ecco un altro esempio di funzione void in cui l'istruzione return
viene utilizzata per terminare l'esecuzione della funzione ma comunque non restituisce alcun valore.
# Function to check stock levels of grocery items def check_stock(inventory): for item, stock in inventory.items(): if stock < 10: print(f"Warning: {item} is running low on stock with only {stock} units left!") print("Please restock the item before proceeding with the check.") return # Stops the function if stock is below 10 print(f"{item} has sufficient stock: {stock} units.") print("All items have sufficient stock.") # Example inventory of a grocery store inventory = { "Apples": 50, "Bananas": 30, "Milk": 8, # This will trigger the early exit "Bread": 25 } # Check stock levels check_stock(inventory)
Applicazione di esempio
Ora, consideriamo una funzione che restituisce un valore specifico. Ad esempio, se spesso è necessario calcolare sconti per diversi prodotti nel negozio, è possibile creare una funzione per eseguire il calcolo dello sconto. Questa funzione può quindi essere riutilizzata ogni volta che è necessario.
# `cost` and `discount_rate` are the parameters of the function def calculate_discounted_price(cost, discount_rate): final_price = cost * (1 - discount_rate) return final_price # Call the `calculate_discounted_price` function and pass in `cost` and `discount_rate` values as arguments apples_final_price = calculate_discounted_price(1.2, 0.10) milk_final_price = calculate_discounted_price(2.2, 0.15) bread_final_price = calculate_discounted_price(0.8, 0.05) # Display the discounted prices print(f"The discounted price of apples is ${apples_final_price}") print(f"The discounted price of milk is ${milk_final_price}") print(f"The discounted price of bread is ${bread_final_price}")
Swipe to start coding
Definire una funzione per calcolare il costo totale di un prodotto moltiplicando il suo prezzo per la quantità venduta.
- Creare una funzione chiamata
calculate_total_cost()
che accetti due parametri:price
equantity
. - All'interno della funzione, moltiplicare
price
perquantity
per ottenere il costo totale. - Restituire il risultato dalla funzione.
Requisiti di output
- Chiamare
calculate_total_cost()
conprice = 1.50
equantity = 10
. - Stampare il risultato come:
Il costo totale per le mele è $<apples_total_cost>
Soluzione
Grazie per i tuoi commenti!