Determining the metaclass

casebash walkraft at gmail.com
Sun Aug 30 20:50:45 EDT 2009


Thanks, I am silly


>
> > I cannot determine if a class is an instance of a particular
> > metaclass. Here is my best attempt
>
> > >>> class tmp(type):
>
> > ...     pass
> > ...>>> def c(metaclass=tmp):
>
> > ...     pass
> > ...>>> isinstance(c, tmp)
> > False
> > >>> isinstance(c.__class__, tmp)
>
> > False
>
> > Can anyone explain why this fails?
>
> You're gonna kick yourself.
>
> It's because you used "def" and not "class" to define c.  If you'd
> used "class" then then first test would have worked.
>
> Carl Banks




More information about the Python-list mailing list