[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