相关疑难解决方法(0)

用于C++运算符重载的Python绑定

我有一个类似于以下的类:

class A {
    vector<double> v;
    double& x(int i) { return v[2*i]; }
    double& y(int i) { return v[2*i+1]; }
    double x(int i) const { return v[2*i]; }
    double y(int i) const { return v[2*i+1]; }
}
Run Code Online (Sandbox Code Playgroud)

我想让以下Python代码工作:

a = A()
a.x[0] = 4
print a.x[0]
Run Code Online (Sandbox Code Playgroud)

我在想的__setattr____getattr__,但如果它的工作原理不清楚.另一种方法是实现以下Python:

a = A()
a['x', 0] = 4
print a['x', 0]
Run Code Online (Sandbox Code Playgroud)

不如前一个好,但可能更容易实现(用__slice__?).

PS.我正在使用sip进行绑定.

谢谢.

c++ python reference python-sip

6
推荐指数
1
解决办法
1262
查看次数

标签 统计

c++ ×1

python ×1

python-sip ×1

reference ×1