为了账号安全,请及时绑定邮箱和手机立即绑定

初始化PyObject而不调用__init__

初始化PyObject而不调用__init__

肥皂起泡泡 2021-04-09 14:11:11
我有一个包装类,如下面的示例中所示,它是用Python编写的。class Foo:    def __init__(self, bar=None):        if bar:            self._bar = bar        else:            self._bar = CreateBarObject("value") 我通过Python C API创建了一个实例// c++ pseudo code for convenienceauto obj = PyObject_CallObject(Foo) auto bar = CreateBarObject("another_value");PyObject_SetAttrString(obj, "_bar", bar)从代码中可以看到,Foo.__init__当创建新bar对象的实例被创建时将被调用。但是,我想绕过这种“繁重的”操作。那么,有什么安全的方法可以创建Foo实例,以便我可以self._bar通过Python C API进行设置?有任何想法吗?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 218 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信