Bonjour à tous,

Je suis nouveau sur ce site et me forme à la POO avec Python. Je suis en train d'étudier les arbres binaires de recherche et j'ai trouvé une source qui donne du fil à retordre quand on ne connait pas suffisamment la POO avec Python.

Je m'explique, dans le constructeur du code il y a 4 attributs :

data : qui prend la donnée à insérer dans l'arbre.

left : qui correspond au noeud gauche du noeud racine

right : idem le noeud droit du noeud racine

parent : qui est le parent du noeud inséré

Dans ce code il y a une méthode "insert", qui insert les noeuds droit et gauche. Et dasn cette méthode il y a la ligne suivante :

"self.left.parent = self" qui sert à désigner le noeud parent du noeud inséré quand il s'agit d'un noeud gauche et self.right.parent = self quand il s'agit d'un noeud droit.

Ma question, qui paraît certainement simple pour les initiés est la suivante : comment fonctionne le "chaînage" d'attribut ? C'est à dire comment peut on écrire self.attribut.attribut ? Quel est au final l'attribut qui va contenir la donnée ?

J'espère avoir été clair... Merci pour votre aide

Voici le lien vers la source, qui se trouve sur github :

Code_Github