Я знаю, что это можно сделать с помощью декораторов, например:
Код: Выделить всё
class Event:
def __init__(self, a, b, c):
self._a = a
self._b = b
self._c = c
@property
def a(self):
return self._a
@a.setter
def a(self, value):
self._a = value
print("Variable a changed!")
self.func1()
@property
def b(self):
return self._b
@b.setter
def b(self, value):
self._b = value
print("Variable b changed!")
self.func2()
@property
def c(self):
return self._c
@c.setter
def c(self, value):
self._c = value
print("Variable c changed!")
self.func1()
def func1(self):
print("Function 1 called")
def func2(self):
print("Function 2 called")
obj = Event(1, 2, 3)
obj.a = 15
obj.b = 10
obj.c = 5
p>
Есть ли более простой способ сказать: Если переменные a, c, f,... обновлены, вызовите функцию X, если b, e,... обновлены, вызовите функцию Y< /code>?
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/781 ... le-changes