URL: https://linuxfr.org/forums/programmation-python/posts/referencer-un-classe-a-l-interieur-de-sa-definition Title: Référencer un classe à l'intérieur de sa définition Authors: Obi MO Date: 2017年06月29日T16:09:13+02:00 License: CC By-SA Tags: Score: 1 Bonjour, j'écris une API en python qui gère des widgets, par exemple des boutons divers et variés, et tout un tas de conteneurs (environ 80 types de composants différents). Il y a des règles qui définissent ce qu'un conteneur a le droit de contenir. Les Widgets et les conteneurs sont représentés par des classes, comme ceci: ```python class Bouton: pass class Glissiere: pass class Conteneur: hierarchy = {Bouton, Glissiere} ``` Cette partie là fonctionne. Mon problème est que certain conteneurs peuvent se contenir eux-mêmes (pas tous). Si je reprends mon exemple précédent, je souhaiterais écrire : ```python class Conteneur: hierarchy = {Bouton, Glissiere, Conteneur} ``` Et notre ami python de râler qu'il ne connaît pas la classe Conteneur qui est en train d'être définie. Y a t'il un quelconque artifice syntaxique qui permette de référencer une classe dans sa propre définition, ou suis-je condamné à sortir l'information hiérarchique hors des définitions des classes (par exemple avec un dictionnaire {Conteneur ⇒ {Bouton, Glissiere, Conteneur}, etc.}