[Python-ideas] Allow isinstance second argument to be a set of types
Michael Foord
fuzzyman at gmail.com
Fri Jul 8 00:12:48 CEST 2011
On 7 July 2011 20:12, Antoine Pitrou <solipsis at pitrou.net> wrote:
> On Thu, 7 Jul 2011 15:08:54 -0400
> Mike Graham <mikegraham at gmail.com> wrote:
> > On Thu, Jul 7, 2011 at 1:43 PM, Antoine Pitrou <
> solipsis-xNDA5Wrcr86sTnJN9+BGXg at public.gmane.org> wrote:
> > > On Thu, 7 Jul 2011 13:22:33 -0400
> > > Jim Jewett <jimjjewett at gmail.com> wrote:
> > >> On Wed, Jul 6, 2011 at 7:35 PM, Benjamin Peterson <
> benjamin-+ZN9ApsXKcEdnm+yROfE0A at public.gmane.org> wrote:
> > >>
> > >> > class Evil(type):
> > >> > def __iter__(self):
> > >> > return range(42)
> > >>
> > >> > class Accomplice(metaclass=Evil):
> > >> > pass
> > >>
> > >> ... leading to isinstance(x, 42) rather than isinstance(x, Evil) if
> > >> the iterable check is done too soon.
> > >
> > > In what way is that a problem?
> > > That you can trigger exceptions by writing malicious code doesn't sound
> > > like a particularly novel event ;)
> >
> > I think people are assuming that an iterable metaclass isn't
> > fundamentally wrong.
>
> Well, it does sound fundamentally useless!
>
I've used indexable types before. I've never created an iterable one, but it
isn't unthinkable. :-)
Michael
>
> Regards
>
> Antoine.
>
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> http://mail.python.org/mailman/listinfo/python-ideas
>
--
http://www.voidspace.org.uk/
May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing http://www.sqlite.org/different.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20110707/23bc4954/attachment.html>
More information about the Python-ideas
mailing list