Révision express fonctions

But

  • Révision rapide sur la création d'une fonction, l'appel d'une fonction et le passage de paramètres.

  • Nouvelles notions dans la déclaration de fonctions :

    • Définition de valeurs par défaut aux paramètres de fonctions

    • Annotation de types.

Révision

Complétez le programme suivant de façon à ce que ça affiche les messages successifs:

  • "Bonjour, Alice !"

  • "Bonjour, Bob !"

def salutation(nom):
    print(f"Bonjour, {nom} !")

if __name__ == "__main__":
    salutation()
    salutation()
Solution
def salutation(nom):
    print(f"Bonjour, {nom}!")

if __name__ == "__main__":
    salutation("Alice")
    salutation("Bob")

Autre solution :

def salutation(nom):
    print(f"Bonjour, {nom}!")

if __name__ == "__main__":

    nom_allocuteur = "Alice"
    salutation(nom_allocuteur)
    
    nom_allocuteur = "Bob"
    salutation(nom_allocuteur)

Valeur par défaut dans les paramètres d'une fonction

Plus de détails dans les notes de cours.

Il est possible de donner une valeur par défaut à un paramètre d'une fonction. Exécutez ce programme, et analysez le résultat. Que remarquez-vous?

def salutation(nom="à tous"):
    print(f"Bonjour, {nom} !")

if __name__ == "__main__":
    salutation()
    salutation("Alice")
Explication
  • Lorsqu'on appelle la fonction salutation sans passer de valeur au paramètre nom de la fonction salutation(), le paramètres nom de la fonction salutation prend par défaut la valeur "à tous".

  • Lorsqu'on appelle la fonction salutation en passant une valeur au paramètre nom salutation("Alice"), le paramètres nom de la fonction prend cette valeur passée en paramètre ("Alice").

Il est également possible de spécifier le nom du paramètre lors du passage d'une valeur dans la fonction.

def salutation(prenom, nom):
    print(f"Bonjour, {prenom} {nom} !")

if __name__ == "__main__":
    salutation(prenom="Alice", prenom="Merveille")

Plus de détails dans les notes de cours.

Annotation de types

Il est possible de spécifier le type de chaque paramètre dans une fonction (str, int, float, list, etc).

Exemple :

def salutation(prenom: str, nom: str):
    print(f"Bonjour, {prenom} {nom} !")

if __name__ == "__main__":
    salutation(prenom="Alice", nom="Merveille")

Last updated