1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
class Observable (object):
def __init__ (self):
self.value = None
self.subscribers = []
def __set__ (self, obj, val):
self.value = val
for subscriber in self.subscribers:
subscriber.set(val)
def __get__(self, obj, val):
return self.value
def __eq__(self, val):
return self.value == val
def __add__(self, val):
return self.value + val
def __sub__(self, val):
return self.value - val
def __mul__(self, val):
return self.value * val
def __div__(self, val):
return self.value / val
def subscribe (self, subscriber):
self.subscribers.append(subscriber) |
Partager