> A while back I put a lot of thought into how to support class methods > and class attributes. I feel that I solved the problem in a fairly > complete way though the solution does have some warts. Here's an > example: [...] > Is anyone still with me? > > The crux of the problem is that in the current python class/instance > implementation, classes dont have attributes of their own. All of > those things that look like class attributes are really there as > defaults for the instances. To support true class attributes a new > name space must be invented. Since I wanted class objects to look > like any other object, I chose to move the "instance defaults" name > space under the underscore attribute. This allows the class's > unqualified namespace to refer to its own attributes. Clear as mud, > right? > > In case you are wondering, yes, the code above is a working example. > I released it a while back as the 'objectmodule' and just updated it > to work with Python-1.5.2. The update has yet to be released. This looks like it would break a lot of code. How do you refer to a superclass method? It seems that ClassName.methodName would refer to the class method, not to the unbound instance method. Also, moving the default instance attributes to a different namespace seems to be a semantic change that could change lots of things. I am still in favor of saying "Python has no class methods -- use module-global functions for that". Between the module, the class and the instance, there are enough namespaces -- we don't need another one. --Guido van Rossum (home page: http://www.python.org/~guido/)
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