any way to tell at runtime whether a callable is implemented in Python or C ?

Stefan Behnel stefan_ml at behnel.de
Fri Sep 26 14:12:25 CEST 2014


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.

Stefan





More information about the Python-list mailing list