I tried to find the right language to support why this behavior is the way it is, so as not to give you “because it is just” the answer ... But it seems that this question has been asked more than once and that it comes down to super() behavior super() . You can see the 2010 discussion about this exact behavior here: http://mail.python.org/pipermail/python-dev/2010-April/099672.html
Ultimately, it really comes down to super () calls, which allow you to directly access getters, not setters. fset() can be accessed via fset() or __set__() . This is probably easiest to explain because the super () function simply does not support it. "It will allow the functionality of the“ get ”operation, not the setter in the left-hand assignment, in the“ given ”operation (therefore, calling the fset() method) As you can see from the date of this discussion, it is obvious that this has happened since the introduction of super() .
Maybe someone has a more specific technical reason, but to be honest, I'm not sure if that even matters. If you don’t support it, this is a pretty good reason.
jdi May 30 '12 at 5:38 2012-05-30 05:38
source share