Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

execution order of trait observers

Ouverte
#874 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
25/100
Type d'issue
Documentation
Clarté
À clarifier
Activité
À l'abandon
Stack technique
python
Domaine
documentation

Piste de recherche

Commencez par l’exemple Test et ses handlers tr.observe, puis examinez comment l’initialisation du trait traite les arguments nommés et distribue les observers. Le travail est terminé lorsque la règle réelle de l’ordre d’exécution est documentée et qu’il est expliqué pourquoi les deux ordres d’arguments produisent la sortie affichée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

its not clear to me in what order the trait observers get executed and why?
can anyone shed light on this?

class Test(tr.HasTraits):
    a = tr.Bool(default_value=True)
    b = tr.Bool(default_value=True)
    c = tr.Bool(default_value=True)

    @tr.observe("a")
    def _a(self, on_change):
        print(f"a = {self.a}")

    @tr.observe("b")
    def _b(self, on_change):
        print(f"b = {self.b}")

    @tr.observe("c")
    def _c(self, on_change):
        print(f"c = {self.c}")

    def __init__(self, **kwargs):
        super().__init__(**kwargs)


t1 = Test(a=False, b=False, c=False)
print("---")
t2 = Test(c=False, b=False, a=False)

# b = False
# c = False
# a = False
# ---
# b = False
# c = False
# a = False

many thanks

Langage dominant
Python
Étoiles
653
Forks
217
Merge moyen
2 j 21 h
PR mergées (30 j)
2

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de ipython/traitlets

Toutes les issues de ipython/traitlets

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.