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