
On 23 November 2010 23:01, Antoine Pitrou <solipsis@pitrou.net> wrote:
Hello,
Python 3 has removed callable() under the justification that's it's not very useful and duck typing (EAFP) should be used instead. However, it has since been felt by many people that it was an annoying loss; there are situations where you truly want to know whether something is a callable without actually calling it (for example when writing sophisticated decorators, or simply when you want to inform the user of an API misuse).
The substitute of writing `isinstance(x, collections.Callable)` is not good, 1) because it's wordier 2) because collections is really not an intuitive place where to look for a Callable ABC.
So, I would advocate bringing back the callable() builtin, which was easy to use, helpful and semantically sane.
+1 I find it useful in Python 2. You have to know its limitations, but it is still useful. Michael
Regards
Antoine.
_______________________________________________ Python-ideas mailing list Python-ideas@python.org http://mail.python.org/mailman/listinfo/python-ideas