[Python-Dev] PEP 3135 (new super()) __class__ references broken in 3.3

Benjamin Peterson benjamin at python.org
Sun May 20 22:58:51 CEST 2012


2012/5/20 Calvin Spealman <ironfroggy at gmail.com>:
> On Sun, May 20, 2012 at 4:28 PM, Benjamin Peterson <benjamin at python.org> wrote:
>> 2012/5/20 Nick Coghlan <ncoghlan at gmail.com>:
>>> PEP 3135 defines the new zero-argument form of super() as implicitly
>>> equivalent to super(__class__, <first argument>), and up until 3.2 has
>>> behaved accordingly: if you accessed __class__ from inside a method,
>>> you would receive a reference to the lexically containing class.
>>
>> I don't understand why PEP 3135 cares how it's implemented. It's silly
>> enough that you can get the class by "using" super (even just
>> referencing the name). Thus that you can get __class__ reeks of more
>> an implementation detail than a feature to me.
>
> It made sense at the time to discuss the issues together. It was often wanted
> to reference the "current class" and super was simply the most common reason
> for this and, as was the point of the PEP in the first place, given an even more
> direct shortcut.

Well, then, back to the old way it is.



-- 
Regards,
Benjamin


More information about the Python-Dev mailing list