我正在尝试翻译以下代码
d = {}
d[0] = None
使用boost.python进入C ++
boost::python::dict d;
d[0] = ?None
如何在boost.python中获取None对象?
答案 0 :(得分:23)
没有boost::python::object
的构造函数需要PyObject*
(根据我的理解,如果将Python类型映射到C ++类型,那么像这样的ctor会使整个想法无效,因为PyObject *可能是任何东西)。根据{{3}}:
object();
效果:构造一个管理对Python
None
对象的引用的对象。
答案 1 :(得分:2)
您可以使用:
d[0] = d.get(0)
如果您未指定默认值,则 d.get
默认为None
。