temporary¶
-
class
zfit.util.temporary.
TemporarilySet
(value: Any, setter: Callable, getter: Callable)[source]¶ Bases:
object
Temporarily set value with setter and reset to the old value after leaving the context.
This class can be used to have a setter that can permanently set a value as well as just for the time inside a context manager. The usage is as follows:
>>> class SimpleX: >>> def __init__(self): >>> self.x = None >>> def _set_x(self, x): >>> self.x = x >>> def get_x(self): >>> return self.x >>> def set_x(self, x): >>> return TemporarilySet(value=x, setter=self._set_x, getter=self.get_x)
>>> simple_x = SimpleX() Now we can either set x permanently >>> simple_x.set_x(42) >>> print(simple.x) 42
or temporarily >>> with simple_x.set_x(13) as value: >>> print(“Value from contextmanager:”, value) >>> print(“simple_x.get_x():”, simple_x.get_x()) 13 13
and is afterwards unset again >>> print(simple.x) 42
Parameters: - value (Any) – The value to be (temporarily) set (and returned if a context manager is applied).
- setter (Callable) – The setter function with a signature that is compatible to the call: setter(value, *setter_args, **setter_kwargs)
- getter (Callable) – The getter function with a signature that is compatible to the call: getter(*getter_args, **getter_kwargs)