class Window(object): def __init__(self, minimum, maximum): self.min_func = min self.max_func = max self.tuple_type = tuple self.minimum = minimum self.maximum = maximum self.minimum, self.maximum = self.tuple_type([self.min_func(*self.tuple_type([self.minimum, self.maximum])), self.max_func(*self.tuple_type([self.minimum, self.maximum]))]) def __call__(self, x): self.x = x result = self.minimum <= self.x <= self.maximum del self.x return result