Hi. Thanks a lot for the answer, and sorry for the ill-formed question. [Tim Peters] > [Samuele Pedroni] > > Is this a case that only the BDFL could know and pronounce on ... > > or I'm missing somenthing ... > > The referenced URL > > http://www.python.org/doc/current/ref/customization.html > > appears irrelevant to me, so unsure what you're asking about. Perhaps > > http://www.python.org/doc/current/ref/attribute-access.html > > was intended? If so, the Yes, pilot error with browser and copy&pasted, I intented the latter. > these methods are cached in the class object at class > definition time; therefore, they cannot be changed after > the class definition is executed. > > there doesn't mean exactly what it says: it's trying to say that the > __XXXattr__ methods *inherited from base classes* (if any) are cached in the > class object at class definition time, so that changing them in the base > classes later has no effect on the derived class. It should be clearer. > > A direct class setattr can still change them; indirect assignment via > class.__dict__ is ineffective for the __dict__, __bases__, __name__, > __getattr__, _setattr__ and __delattr__ class attributes (yes, you'll create > a dict entry then, but class getattr doesn't look in the dict to get the > value of these specific keys). > This matches what I understood reading CPython C code (yes I did that too <wink>), and what the snippets was trying to point out. And I see the problem with derived classes too. > Didn't understand the program snippet. Sorry it is not one snippet, but the 4 variants should be considered indipendently. > > Much of this is due to hoary optimizations and I agree is ill-documented. I > hope Guido's current rework of all this stuff will leave the endcases more > explainable. That will be a lot to work for porting it to jython <wink>. In any case the manual is really not clear (euphemism <wink>) about this. The point is that jython implements the letter of the manual, and even extend the caching opt to some others __magic__ methods. I wanted to know the intended behaviour in order to fix that in jython. regards Samuele Pedroni.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4