On Fri, Sep 26, 2014 at 6:12 AM, Stefan Behnel <stefan...@behnel.de> wrote: > Chris Angelico schrieb am 26.09.2014 um 10:42: >> On Fri, Sep 26, 2014 at 5:47 PM, Wolfgang Maier wrote: >>> is there any reliable and inexpensive way to inspect a callable from running >>> Python code to learn whether it is implemented in Python or C before calling >>> into it ? >> >> I'm not sure you can say for absolute certain, but the presence of a >> __code__ attribute is strongly suggestive that there's Python code >> behind the function. That might be good enough for your purposes. > > Cython implemented native functions have a "__code__" attribute, too. Their > current "__code__.co_code" attribute is empty (no bytecode), but I wouldn't > rely on that for all times either.
Meanwhile, Python classes and objects with __call__ methods have no __code__ attribute. -- https://mail.python.org/mailman/listinfo/python-list