Chapitre 7

Chapitre 7

7.1 Notions de base sur les modules

1.
b. Le code comporte dix instructions def , dont chacune définit une fonction.
2.
a. De nombreux modules se composent uniquement de définitions de fonctions. Ces fonctions sont destinées à être appelées dans d'autres modules.
3.
c. area.cube(5) vaut 6 * 5**2, ce qui équivaut à 6 * 25, c'est-à-dire 150 .
4.
a. Lors de l'importation d'un module depuis un autre fichier, le suffixe .py est supprimé.
5.
b. La fonction circle doit être appelée à l'aide de la variable area qui fait référence au module.
6.
b. L'ajout de la fonction au module area facilite sa réutilisation dans d'autres programmes.

7.2 Importation de noms

1.
a. Cette instruction importe la fonction sqrt définie dans le module math.
2.
b. Une variable est définie pour chaque fonction importée : sin, cos et tan.
3.
b. Une erreur de nom survient lorsqu'un nom de variable est introuvable, ce qui peut être dû à une instruction import manquante.
4.
b. Cette instruction remplace la fonction circle précédemment importée, même si circle() et area.circle() ont des paramètres différents.
5.
a. L'affectation de la variable area remplace le module précédemment importé par l'entier 51 . La variable ne peut plus être utilisée pour appeler des fonctions du module area.
6.
b. La définition la plus récente de hello() nécessite un argument, donc cette ligne provoquerait une erreur.

7.3 Code de premier niveau

1.
b. Chaque fois que ce module est importé, Python affichera "Defining sphere function" comme effet secondaire.
2.
a. Même si rien n'est affiché, appeler la fonction sphere dix millions de fois entraîne un retard dans le programme principal.
3.
a. Tout le code se trouve au premier niveau, et aucune fonction n'est définie. L'importation de ce module exécuterait tout le code comme effet secondaire.
4.
c. La variable __name__ est le nom du module, à moins que le module n'ait été exécuté comme programme principal. Dans ce cas, __name__ vaut "__main__" .
5.
a. Puisque test.py a été importé, la valeur de __name__ est "test" .
6.
c. Cette ligne est présente dans de nombreux modules Python pour vérifier si le module a été exécuté comme programme principal.

7.4 La fonction help

1.
b. Les chiffres ont 0 pour le rouge et 0 pour le vert, la couleur doit donc être une nuance de bleu. Navy est une version plus sombre du bleu standard, #0000FF .
2.
c. FF en hexadécimal vaut 255, soit la quantité maximale de rouge, de vert ou de bleu dans une couleur.
3.
a. Les valeurs de rouge, de vert et de bleu pour l'orange sont supérieures aux valeurs de rouge, de vert et de bleu pour le vert.
4.
b. La valeur hexadécimale de YELLOW est #FFFF00 , ce qui signifie 255 rouge + 255 vert + 0 bleu.
5.
c. La fonction darken et la variable BLUE doivent toutes deux être accessibles via la variable colors.
6.
a. Les noms de fonctions qui commencent par un trait de soulignement sont destinés à être utilisés uniquement au sein du module actuel.
7.
b. Seules les docstrings sont incluses dans la documentation. Tous les commentaires sont ignorés par la fonction help.
8.
a. Les fonctions sont triées par ordre alphabétique selon leur nom pour faciliter la recherche d'une fonction.
9.
a. Les fonctions qui commencent par un trait de soulignement sont destinées à être utilisées uniquement au sein d'un module, et non dans d'autres modules.

7.5 Trouver des modules

1.
a. Cette référence décrit la bibliothèque standard, y compris les fonctions intégrées, les types et les modules.
2.
b. Comme l'explique la documentation du module calendar, MONDAY vaut 0 et SUNDAY vaut 6 .
3.
a. Le module tkinter signifie Tk interface. Tk est une boîte à outils standard permettant de créer des fenêtres, des zones de texte, des boutons et d'autres composants graphiques.
4.
c. MoviePy est un module de montage vidéo, et Pillow est un module de traitement d'images.
5.
a. Selon la section « Features » de la documentation, Arrow est un « remplacement direct et complet pour datetime ».
6.
a. Cette fonction convertit un code couleur en un nom de couleur. Ex. : hex_to_name("#daa520") renvoie "goldenrod" .