diff --git a/attributes.py b/attributes.py new file mode 100644 index 0000000..795db03 --- /dev/null +++ b/attributes.py @@ -0,0 +1,16 @@ +from __future__ import division, print_function + +class SomeClass(object): + def __setattr__(self, name, value): + print("Setting {} to value {}".format(name, value)) + self.__dict__[name] = value + + def __getattr__(self, name): + print("Getting {}".format(name)) + return None + +o = SomeClass() +o.xxx = "yyy" +o.xxx = "zzz" +print(o.xxx) # Note: __getattr__ does not get called here! +print(o.nope)