Fonctions

Fonctions sans argument

Définition:

def dire_bonjour():
    print("Bonjour")

Notez qu’on utilise aussi le snake case pour les noms de fonctions, comme pour les noms de variables.

  • avec le mot-clé def

  • avec un : à la fin et un bloc indenté (appelé le corps de la fonction).

Appel:

dire_bonjour()
  • avec le nom de la fonction et des parenthèses

Exemple complet:

def dire_bonjour():
    print("Bonjour")

dire_bonjour()
# Affiche: bonjour'
  • Le nom de la fonction est le mot utilisé pour la définir et l’appeler

  • Le corps de la fonction est le bloc après le def()

  • Quand on définit une fonction, on associe un nom avec un corps.

  • Quand on appelle une fonction, on exécute le corps.

Le pouvoir des fonctions

Ici on vient de créer une nouvelle fonctionnalité à Python. Avant qu’on définisse la fonction dire_bonjour(), il ne savait pas dire bonjour, il savait uniquement afficher des messages à l’écran.

On dit qu’on a créé une abstraction. Et c’est une technique extrêmement utile en programmation.

Fonction avec un argument

Définition: avec l’argument à l’intérieur des parenthèses:

def dire_bonjour(prénom):
    print("Bonjour " + prénom)

Appel: en passant une variable ou une valeur dans les parenthèses:

dire_bonjour("Germaine")

Pour évaluer une expression qui contient l’appel a une fonction, on:

  • assigne le contenu des parenthèses aux arguments de la fonction

  • puis on éxécute les instructions dans le corps de la fonction

# Ceci:
dire_bonjour("Dimitri")

# Est équivalent à cela:
prénom_de_dimitri = "Dimitri"
print("Bonjour " + prénom_de_dimitri)

# Lui-même équivalent à:
print("Bonjour " + "Dimitri")

Exemple complet:

def dire_bonjour(prénom):
    print("Bonjour " + prénom)
dire_bonjour("Germaine")
# affiche: Bonjour Germaine

prénom_de_charlotte = "Charlotte"
dire_bonjour(prénom_de_charlotte)
# affiche: Bonjour Charlotte