ipython / ipython/traitlets

execution order of trait observers

Offen
#874 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
653
Forks
217
Ø Merge
2 T. 21 Std.
Gemergte PRs (30 T.)
2

Beschreibung

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

```py
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

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.