Cython 将 PyObject* 转换为对象而不增加引用计数器

Cython cast PyObject* to object without increasing reference counter

我知道当我像这样进行转换时:<object> p,其中 p 是 PyObject* 引用计数器会增加。是否可以在不增加引用计数器的情况下将 PyObject* 转换为对象?

简而言之:没有。类型为 Python 对象的变量总是使用引用计数器。然而,根据您实际想要做的事情,可能有多种方法可以避免引用计数。例如,如果您只需要临时演员表来访问单个 属性,您可以简单地使用 (<Foo>p).myProperty,据我所知,它不会增加引用计数器(cython 中的 source). This whole thread-用户组还对如何避免引用计数提供了更多见解。