我有多个对象,它们与class Curve
的单个度量相对应,还有一个对象用于整个测量系列,例如class Series
。
Series
个对象引用了Curve
个对象,但是每个Curve
也有一个reference
回到其Series
。
当前,我首先创建Series
对象s
,然后根据数据创建Curve
对象c1, c2,..
,同时给它们返回对s
的引用,最后将c1, c2,..
分配给s
。但是,这意味着我之后必须手动处理s
的初始化内容。
我想先创建Curve
对象,然后以某种方式为它们提供一个引用,以后可以用Series
进行填充,而不必在每个对象中都进行更新。
编辑:它是如何发生的。
class Curve:
def __init__(self, series ):
self.series=series
class Series:
def __init__(self, curve_list=None):
self.curve_list=curve_list
def read_data(folder):
#create a new Series object
new_series = Series()
#create Curves objects given the folder where the data is saved, and the reference to a series object
new_curves = createCurves(folder, new_Series)
#assign the new Curve objects to the series object
new_series.curve_list = new_curves
#prepare the Series object for use, which needs the information of the Curve objects
new_series.do_some_things()
答案 0 :(得分:0)
我首先用空的Series
初始化曲线,然后在实际初始化序列时填充该Series
。像这样:
class Curve:
def __init__(self, series=None):
self.series = series
class Series:
def __init__(self, curve_list=None):
self.curve_list = curve_list
for curve in curve_list:
curve.series = self
这与您的建议类似,但是相反。但是通过这种方式,您可以创建一串没有关联序列的曲线,并根据需要准备它们。然后,您可以从所有曲线中创建一个序列,并在有足够信息的情况下将该序列添加到所有曲线中。