[Python-ideas] `issubclass` shouldn't be raising exceptions for non-type inputs

Michael Foord fuzzyman at voidspace.org.uk
Mon Nov 29 00:21:25 CET 2010


On 28 November 2010 22:37, cool-RR <cool-rr at cool-rr.com> wrote:

> `issubclass(1, list)` raises an Exception, complaining that `1` is not a
> class. This is wrong in my opinion. It should just return False.
>
> Use case: I have an object which can be either a list, or a string, or a
> callable, or a type. And I want to check whether it's a sub-class of some
> base class.
>
> So I don't think I should be taking extra precautions before using
> `issubclass`: If my object is not a subclass of the given base class, I
> should just get `False`.
>
>
Unfortunately it would be a backwards incompatible change. Currently
catching the TypeError from issubclass is a way of detecting that an object
*isn't* a type.

Maybe one to chalk up for Python 4...

Michael



>
> Ram.
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> http://mail.python.org/mailman/listinfo/python-ideas
>
>


-- 
http://www.voidspace.org.uk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20101128/2a5c81ad/attachment.html>


More information about the Python-ideas mailing list