Ethan Furman added the comment: The purpose of callable is to report whether an instance is callable or not, and that information is available on the instance's class, via the presence of __call__. It is not up to callable() nor iter() nor ... to figure out that, even though the special method __call__ or __iter__ or ... exist, the object isn't /really/ what it says it is.
If you have special needs then write special functions, and they can be imported and used instead of the regular built-in ones. ---------- type: behavior -> enhancement versions: +Python 3.5 -Python 2.7, Python 3.2, Python 3.3, Python 3.4 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue23990> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com