Python 嵌入——如何从 C/C++ 获取 if() 真值测试行为?

标签 python embedded-language

我正在尝试编写一个函数来返回给定 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/

相关文章:

python - 使用 PyArg_ParseTuple 重载嵌入式 Python 函数

c++ - 在 Obj-C 项目中嵌入 Prolog 引擎

c++ - 在 C++ 中转义外部代码块

c# - 是否可以使用 DLR 加载和执行 C# 代码片段?

python - 如何在进行 DOS 攻击时在 Python 中显示来自服务器的 TCP 响应数据包

python - 当第一个数字为负数时,Kadane 算法无法满足条件

Python 和 Pandas : Find a dict within a list according to a key's value

python - 将python float 转换为字节

python - 如何在抓取请求时绕过 Google Recaptcha

java - 如何将闭包从 groovy 导入到 java?