11.5 Utiliser des modules avec des classes
Objectifs d'apprentissage
À la fin de cette section, vous devriez être capable de :
- Construire une instruction import qui importe sélectivement des classes.
- Créer un alias pour importer un module.
Importer des classes depuis des modules
Les instructions import, comme expliqué dans le chapitre Modules, permettent d'importer dans un programme du code provenant d'autres fichiers, y compris des classes. L'accès à une classe importée dépend du fait que le module soit importé en entier ou que seuls certains de ses éléments sont importés.
Plusieurs classes peuvent être regroupées dans un module. Pour assurer une bonne organisation, les classes ne doivent être regroupées dans un module que si ce regroupement favorise la réutilisation du module, la réutilisabilité étant l'un des principaux avantages des modules.
Concepts en pratique
Importer des classes
Utiliser des alias
L'aliasage (aliasing) permet au programmeur d'utiliser un autre nom pour les éléments importés. Ex. : import triangle as tri permet au programme de faire référence au module triangle sous le nom de tri. L'aliasage est utile pour éviter les collisions de noms, mais doit être utilisé avec précaution pour éviter toute confusion.
Exemple 11.3
Utiliser l'aliasage pour importer character
character.py
class Level:
def __init__(self, level=1):
self.level = level
...
def level_up(self):
...
class XP:
def __init__(self, XP=0):
self.XP = XP
...
def add_xp(self, num):
...
main.py
import character as c
bard_level = c.Level(1)
bard_XP = c.XP(0)
bard_XP.add_xp(300)
bard_level.level_up()
...
Concepts en pratique
Utiliser un alias
Considérez l'exemple ci-dessus. Supposons qu'un programme importe le module character à l'aide de import character as game_char.
À vous d'essayer
Instruction import manquante
Ajoutez l'instruction import manquante au début du fichier. N'apportez aucune modification au reste du code. Au final, le programme devrait s'exécuter sans erreur.
À vous d'essayer
Instruction import de classe manquante
Ajoutez l'instruction import de classe manquante au début du fichier. N'importez qu'une classe, pas un module complet. N'apportez aucune modification au reste du code. Au final, le programme devrait s'exécuter sans erreur.