[Python-Dev] Default metaclass in Python 3.0 modules

Ben Finney ben+python at benfinney.id.au
Tue Jul 15 15:03:52 CEST 2008


Nick Coghlan <ncoghlan at gmail.com> writes:
> Ben Finney wrote:
> > What makes that happen in the case where a class declares no
> > superclass? Is there an invisible enforced "__metaclass__ = type"
> > for every module? Where can I read about this change?
>> The magic is actually in 2.x, not in 3.0. In 2.x, if you don't
> explicit set the metaclass (or inherit explicitly from an object
> which sets it), then the default metaclass is 'classobj'. In 3.0,
> that magic goes away and the default metaclass is just 'type'.

That helps. Thanks.
-- 
 \ “When I get real bored, I like to drive downtown and get a |
 `\ great parking spot, then sit in my car and count how many |
_o__) people ask me if I'm leaving.” —Steven Wright |
Ben Finney


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /