Как правильно передать возвращаемое значение из метода в классе? Вы всегда вызываете метод, когда это необходимо, или возвращаемое значение можно сохранить в методе init? Допустим, у меня есть:
class Foo():
def __init__(self):
def heavy_method(self):
#slow crunching
return crunch
def use_heavy_crunch(self):
data = self.heavy_crunch()
for i in data:
#do data stuff
#return data stuff
def other_func_that_need_heavy_method(self):
pass
d = Foo()
d.use_heavy_crunch()
Что мне интересно, так это то, что вышеприведенная структура является правильным способом или эквивалентен или лучше следующий путь?
class Foo()
def __init__(self):
self.data = None
def heavy_method(self):
#slow crunching
self.data = crunch
def use_heavy_crunch(self):
for i in self.data:
#do data stuff
#return data stuff
def other_func_that_need_heavy_method(self):
pass
d = Foo()
d.heavy_method()
d.use_heavy_crunch()
Таким образом, в приведенном выше примере метод вызывается в другом методе, а в приведенном ниже примере возвращаемое значение метода передается переменной в методе init, а затем используется в другой функции.