Python – Le funzioni

Python – Le funzioni:

Creare una funzione

Per definire una funzione si utilizza la parola chiave def seguita dal nome della funzione :

def example_function():
    print("Hello World!")

Chiamata di funzione

per richiamare una funzione si deve semplicemente scrivere il suo nome seguito dalla coppia di parentesi tonde

example_function()

Funzioni con argomenti

Ricordiamo che Python ha il type checking dinamico quindi per avere degli argomenti da passare alla funzione basta aggiungerli tra le parentesi tonde in fase di definizione della funzione stessa

def example_function(name):
    print("Hello " + name)

analogamente alle funzioni senza parametri, la chiamata avviene scrivendo il nome della funzione e il parametro che gli vogliamo passare

example_function("PuffoGino")

Passare un numero non prefissato di argomenti

Per passare un numero non prefissato di argomenti aggiungi due asterischi: ** prima del nome del parametro nella definizione della funzione.

def my_cats(**cats):
  print("The name of my second cat is " + cats["second"])

my_cats(first = "PuffoGino", second = "Nino")

Passare una lista di argomenti

Per passare una lista di argomenti la inseriamo tra le parentesi tonde e possiamo con un ciclo for percorrerla e stampare i valori come nel seguente codice

def my_cats(cats):
  for cat in cats:
    print(cat)

cats = ["PuffoGino", "Nino", "Gingerino"]

my_cats(cats)

Assegnare un valore di default ad un parametro

Per dare un valore di default ad un parametro è sufficiente assegnarlo all’interno delle parentesi tonde come nel seguente esempio

def my_cats_food(food = "Crocchini"):
  print("My cats eat " + food)

my_cats_food("Hamburger")
my_cats_food("Polpette")
my_cats_food()
my_cats_food("Bustina")

Funzioni che restituiscono un valore

def square(num):
  return  num * num
num=5
print("il quadrato di ", num, " vale: ", square(num))

Esempio: numero primo

Per prima cosa definiamo la funzione che tramite un ciclo for testa i divisori da 2 a num-1, nel caso un numero sia un divisore di num la funzione restituisce 0, se non è mai uscita con il valore 0 restituisce 1 perché il numero è primo.

Nel programma principale validiamo l’input con un ciclo infinito ( while True: ) che termina tramite l’istruzione break quando l’utente inserisce un numero positivo, infine controlliamo il risultato della funzione primo applicato al numero letto num

def primo(num):
    for i in range(2,num):
        if num % i == 0:
            return 0
    return 1

while True:
    num=int(input("Inserisci un numero positivo intero "))
    if num > 0:
        break
if primo(num) == 1:
    print("il numero inserito è primo")
else:
    print("Il numero inserito non è primo")

Pubblicato da Carlo Contardi

Carlo Contardi, docente di informatica e sviluppatore Full Stack, condivide la sua passione per la programmazione e l’informatica attraverso il suo blog Space Coding. Offre preziosi consigli e soluzioni pratiche a chi vuole imparare a programmare o migliorare le proprie abilità. 🚀👨‍💻

Translate »