Définition des fonctions

6.1 Définition des fonctions

Objectifs d'apprentissage

À la fin de cette section, vous devriez être en mesure de :

  • Identifier les appels de fonction dans un programme.
  • Définir une fonction sans paramètre qui affiche des chaînes de caractères.
  • Décrire les avantages de l'utilisation des fonctions.

Appeler une fonction

Tout au long de cet ouvrage, des fonctions ont été appelées pour accomplir des tâches. Ex. : print() affiche des valeurs et sqrt() calcule la racine carrée. Une fonction (function) est un bloc de code nommé et réutilisable qui exécute une tâche lorsqu'il est appelé.

Faites le point

Exemple : Programme mathématique simple

Concepts en pratique

Identifier les appels de fonction

1.
Quelle ligne contient un appel de fonction ?
1
input_num = 14
2
offset_num = input_num - 10
3
print(offset_num)
  1. ligne 1
  2. ligne 2
  3. ligne 3
2.
Combien de fois print() est-elle appelée ?
print("Please log in")
username = input("Username:")
password = input("Password:")
print("Login successful")
print("Welcome,", username)
  1. 1
  2. 3
  3. 5
3.
Combien y a-t-il d'appels de fonction ?
# Use float() to convert input for area calculation
width = float(input("Enter width:"))
height = float(input("Enter height:"))
print("Area is", width*height)
  1. 3
  2. 5
  3. 6

Définir une fonction

Une fonction est définie à l'aide du mot-clé def. La première ligne contient def suivi du nom de la fonction (en snake_case), de parenthèses (avec d'éventuels paramètres — abordés plus loin) et de deux-points. Le corps indenté commence par une chaîne de documentation décrivant la tâche de la fonction et contient les instructions de la fonction. Une fonction doit être définie avant d'être appelée.

Faites le point

Exemple : Fonction de message de bienvenue

Concepts en pratique

Définition des fonctions

4.
Quel est le problème avec la première ligne de la définition de la fonction ?
def water_plant:
  1. Une docstring devrait suivre les deux-points.
  2. Des parenthèses devraient suivre water_plant.
  3. def devrait être define avant water_plant.
5.
Quelle est la sortie ?
def print_phone_num():
  print("Phone: (", 864, ")", 555, "-", 0199)

print("User info:")
print_phone_num()
  1. Phone: ( 864 ) 555 - 1000
    User info:
    Phone: ( 864 ) 555 - 1000
  2. User info:
  3. User info:
    Phone: ( 864 ) 555 - 1000
6.
Quelle instruction appelle une fonction nommée print_pc_specs() ?
  1. print_pc_specs
  2. print_pc_specs()
  3. print_pc_specs():
7.
Quel est un nom approprié pour une fonction qui calcule les impôts d'un utilisateur ?
  1. calc_tax
  2. calculate user tax
  3. c_t

Avantages des fonctions

Une fonction favorise la modularité en regroupant les instructions de code associées à une seule tâche dans un bloc distinct. Le corps d'une fonction peut être exécuté de manière répétée au moyen de multiples appels de fonction, favorisant ainsi la réutilisabilité. Un code modulaire et réutilisable est plus facile à modifier et peut être partagé entre programmeurs afin d'éviter de réinventer la roue.

Faites le point

Améliorer un programme avec une fonction

Concepts en pratique

Améliorer des programmes avec des fonctions

Considérez le code ci-dessus.

8.
Si les points étaient modifiés pour passer de flottants à des entiers, combien d'instructions devraient être modifiées dans le programme d'origine et dans le programme révisé, respectivement ?
  1. 3, 1
  2. 4, 4
  3. 12, 4
9.
Combien de fois calc_distance() peut-elle être appelée ?
  1. 1
  2. 3
  3. plusieurs

À vous d'essayer

Stand de confiserie du cinéma

Écrivez une fonction, concessions(), qui affiche les options d'encas et de boissons dans un cinéma.

Étant donné :

    concessions()

La sortie est :

    Food/Drink Options:
    Popcorn: $8-10
    Candy: $3-5
    Soft drink: $5-7

À vous d'essayer

Invite des conditions générales

Écrivez une fonction, terms(), qui demande à l'utilisateur d'accepter les conditions générales, lit Y/N et affiche une réponse. Dans le programme principal, lisez le nombre d'utilisateurs et appelez terms() pour chaque utilisateur.

Avec les entrées 1 et "Y", la sortie est :

    Do you accept the terms and conditions?
    Y
    Thank you for accepting.

Avec les entrées 2, "N" et "Y", la sortie est :

    Do you accept the terms and conditions?
    N
    Have a good day.
    Do you accept the terms and conditions?
    Y
    Thank you for accepting.