我正在尝试编写一个函数来返回给定 PyObject 的真值。该函数应该返回与 if() 真值测试相同的值——空列表和字符串为 False 等。 我一直在查看 python/include header ,但没有找到任何似乎可以做到这一点的东西。我最接近的是 PyObject_RichCompare(),第二个值是 True,但返回 False,例如“1”== True。 是否有一个方便的函数来执行此操作,或者我是否必须针对一系列类型进行测试并对每种可能的类型进行特殊情况测试? if() 的内部实现是做什么的?
最佳答案
这不是吗,在object.h中:
PyAPI_FUNC(int) PyObject_IsTrue(PyObject *);
?
关于Python 嵌入——如何从 C/C++ 获取 if() 真值测试行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/787711/