Python 3.x Python扩展-主机/插件示例

Python 3.x Python扩展-主机/插件示例,python-3.x,python-extensions,Python 3.x,Python Extensions,我有两个扩展模块。一个扩展模块称为主机,另一个扩展模块称为插件。 其思想是主机扩展模块包含对插件模块的引用,以便它可以调用插件模块上的方法。 所以我要实现的是这样的功能 s = Server() p = Plugin() s.addPlugin(p) 我对两件事感到困惑 在addPlugin方法中,我不确定如何解析输入,特别是我不确定何时使用“O&”而不仅仅是“O”。用“O”我会做的 Server_addPlugin(Server *self, PyObject *arg) { Py

我有两个扩展模块。一个扩展模块称为主机,另一个扩展模块称为插件。 其思想是主机扩展模块包含对插件模块的引用,以便它可以调用插件模块上的方法。 所以我要实现的是这样的功能

s = Server()
p = Plugin()

s.addPlugin(p)
我对两件事感到困惑

在addPlugin方法中,我不确定如何解析输入,特别是我不确定何时使用“O&”而不仅仅是“O”。用“O”我会做的

Server_addPlugin(Server *self, PyObject *arg)
{
    PyObject *tmp;
    PyArg_ParseTuple(args, "O", &tmp)
然后键入tmp to(Plugin*)。有人能举一个例子,用“O&”代替“O”吗

我不确定的另一件事是参考计数。在addPlugin方法中我应该做的不是正确的吗

Py_INCREF(tmp)
谢谢