擅长:python、mysql、java
<p>骗我。从Eclipse复制粘贴到iPython时,我没有使用magic%paste函数,并且弄乱了那里的类定义。另一个实际的错误是CArray的形状,它必须是(3,)。你知道吗</p>
<p>此代码</p>
<pre><code>class Coordinate3D(HasTraits):
coordinate = CArray(Float(),shape=(3,))
def __init__(self,iv=None):
super(Coordinate3D,self).__init__()
if iv:
self.coordinate=iv
def _coordinate_default(self):
return array([1,2,3])
def __getitem__(self,index):
return self.coordinate[index]
</code></pre>
<p>工作方式如下:</p>
<pre><code>In [3]: c=Coordinate3D()
In [6]: c.coordinate
Out[6]: array([ 1., 2., 3.])
In [7]: c=Coordinate3D([1,2,5])
In [8]: c.coordinate
Out[8]: array([ 1., 2., 5.])
In [11]: c[0]
Out[11]: 1.0
</code></pre>