[Python-3000] [Python-Dev] PEP 367: New Super (original) (raw)

Guido van Rossum guido at python.org
Sun May 27 14:50:47 CEST 2007


On 5/27/07, Tim Delaney <timothy.c.delaney at gmail.com> wrote:

Guido van Rossum wrote:

> The bound method object isn't stored in the class -- it's created by > the "C.method" or "inst.method" getattr operation. I don't see how > this would introduce a cycle. > >> If we store the class, we can store it as a weakref - the when the >> super object is created, a strong reference to the class exists. We need to create some relationship between the unbound method and the class. So the class has a reference to the unbound method, and the unbound method has a reference to the class, thus creating a cycle. Bound methods don't come into it - it's the unbound method that's the problem.

Still wrong, I think. The unbound method object also isn't stored in the class. It's returned by the C.method operation. Compare C.method (which returns an unbound method) to C.dict['method'] (which returns the actual function object stored in the class).

> Since class and type are synonym (as you say) having both imclass and > imtype would be a bad idea.

I'm struggling to think of another, not too complicated name that conveys the same information.

Keep trying. im_type is not acceptable. :-)

-- --Guido van Rossum (home page: http://www.python.org/~guido/)



More information about the Python-3000 mailing list