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 d’ajouter 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