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

Reply via email to