我正在为我的实验物理课程制作一个更简单的numpy
,matplotlib
,scipy
等界面。我创建了一个名为E_dat
的类,它需要一些数据和不确定性,并且可以返回数据的统计信息,如max,min,standard deviation ......这是类:
class E_Dat(object):
def __init__(self, data, error = None, data_type = "foo"):
self.data = np.array(data)
self.error = np.array(error)
self.shape = self.data.shape
self.Mean = np.mean(data)
self.Max = np.max(data)
self.Min = np.min(data)
self.STD = np.std(data)
self.data_type = data_type
if self.data.shape != self.error.shape and self.data_type != "foo":
raise ValueError('data.shape y error.shape no coinciden')
if self.data_type == "2d_plot" and self.data.ndim != 2:
raise ValueError('data.shape no es 2d, no puede graficarse')
if self.data_type == "hist" and self.data.ndim != 1:
pass
def get_data(self):
return self.data
def get_error(self):
return self.error
def get_shape(self):
return self.shape
def get_mean(self):
return self.Mean
def get_max(self):
return self.Max
def get_min(self):
return self.Min
def get_std(self):
return self.STD
现在我想创建一个Plot
类,对于简单的图,所以我不必每次都编写代码,Plot
类将继承E_Dat
的属性class,我不知道如何处理该类,因为例如我需要来自同一基类的两个1D E_Dat
对象,并且我只能从同一个类继承一个对象。我可以从同一个类的对象列表继承吗?
答案 0 :(得分:0)
这似乎不需要继承:
class MyPlot():
def __init__(self, e_dat1, e_dat2):
self.e_dat1 = e_dat1
self.e_dat2 = e_dat2
使用e_dat1
和e_dat2
两个E_Dat
个对象。