class BSVar: def __init__(self, name, cache): self.name = name self.cache = cache def get(self): try: return self.cache.data[self.name] except KeyError as e: print("KeyError:", e) #TODO: remove / KeyError should be impossible to trigger return None value = property(get) def __repr__(self): return f"{self.name} = {self.value}"