Cecil Westerhof wrote at 2022-4-14 17:02 +0200: >In C when you declare a variable static in a function, the variable >retains its value between function calls. >The first time the function is called it has the default value (0 for >an int). >But when the function changes the value in a call (for example to 43), >the next time the function is called the variable does not have the >default value, but the value it had when the function returned. >Does python has something like that?
In "C" a variable designates a storage location; assignment to the variable changes the stored value. In "Python" a variable designates an object. Assignments to the variable do not change the object but the association variable-object. The im|mutability of the object determines whether the object can or cannot have different values. Mutable objects can behave similar to storage locations, e.g. class StaticVariable: def __init__(self, v): self.v = v def set(self, v): self.v = v def get(self): return self.v static_emul = StaticVariable(...) def f(...): ... static_emul.set(...) ... -- https://mail.python.org/mailman/listinfo/python-list