我在Python C API中发现了一个奇怪的情况。
我有一个自定义python对象,当使用bool内置函数计算它时,他的返回值为False。
如何将一种自定义对象评估为True?
当我尝试评估函数(表示函数的自定义对象)时,我注意到了这个问题,如下所示:
if cutomobject: # False! But the object is a valid reference.
The thread module makes this check, and this prevents me of execute thread
答案 0 :(得分:0)
像往常一样,我还没有理解我的问题
但正确答案在这里:
static PyMappingMethods LuaObject_as_mapping = {
#if PY_VERSION_HEX >= 0x02050000
(lenfunc)LuaObject_length, /*mp_length*/
#else
(inquiry)LuaObject_length, /*mp_length*/
#endif
(binaryfunc)LuaObject_subscript,/*mp_subscript*/
(objobjargproc)LuaObject_ass_subscript,/*mp_ass_subscript*/
};
```