Callable or not callable, that is the question!

Steven D'Aprano steve+comp.lang.python at pearwood.info
Thu Jul 11 22:12:07 EDT 2013


On Thu, 11 Jul 2013 15:05:59 +0200, Ulrich Eckhardt wrote:

> Hello!
> 
> I just stumbled over a case where Python (2.7 and 3.3 on MS Windows)
> fail to detect that an object is a function, using the callable()
> builtin function. Investigating, I found out that the object was indeed
> not callable, but in a way that was very unexpected to me:
[...]
>      X.test2[0]() # TypeError: 'staticmethod' object is not callable
> 
> 
> Bug or feature?

In my opinion, a bug. I thought I had actually submitted it to the bug 
tracker, but apparently I was a shameful slacker and did not. However 
there was a discussion in this thread:

http://mail.python.org/pipermail/python-dev/2011-March/109090.html


Here's a simpler demonstration of the issue:

assert callable(staticmethod(lambda: None))


-- 
Steven



More information about the Python-list mailing list