我有一个类Boundary
,其属性points
是一个numpy数组。
class Boundary():
self.points = np.array([])
...
班级Spline
是boundary
的子班级。
但是当我打电话给spline.points
时,我无法获得一个numpy数组。
打印时,我看到它是一个对象,那么如何将点转换为数组呢?
答案 0 :(得分:0)
您的代码设置属性self.points
,而不是将points
指定为属性。
请参阅以下示例
class Boundary():
def __init__(self):
self.points = np.arange(3)
a = Boundary()
print(a.points)
print(type(a))
print(type(a.points))
输出
[0 1 2]
<class '__main__.Boundary'>
<class 'numpy.ndarray'>
修改强>:
使用childs的以下代码:
import numpy as np
class Boundary():
def __init__(self):
self.points = np.array([])
def setPoints(self, points):
self.points = points
class Spline(Boundary):
def __init__(self):
super().__init__()
points = np.arange(5)
spline = Spline()
spline.setPoints(points)
print(spline.points)
对应输出:
[0 1 2 3 4]