我在理解嵌套类时遇到问题,并且有一个特定的问题
我有一个模型“Pair”,它有一个属性“name”。我想要一个名为“History”的嵌套类,它传递变量“start”和“end”以及它的父(Pair)变量的“name”。一个@property 修饰函数将返回该列表的标准偏差。
要调用标准偏差,我会寻找类似的东西:
pair = Pair(base_currency='USD', quote_currency='GBP')
print(pair.History(granularity='1D', start=start_date, end=end_date).std_dev
>>> 634
我认为它应该如下所示,但无法弄清楚如何继承外部类属性“name”
class Pair:
def __init__(self, base_currency, quote_currency):
self.base_currency = base_currency
self.quote_currency = quote_currency
self.name = '{base}-{quote}'.format(base=base_currency, quote=quote_currency)
self.history = self.History()
class History:
def __init__(self, granularity, start, end):
self.name = HOW DO I GET THE PARENT NAME HERE
self.granularity = granularity
self.start = start
self.end = end
def data(self):
return retrieve_history(product=self.name, granularity=self.granularity, start=self.start, end=self.end)
@property
def std_dev(self):
return stdev(self.data)