Список для последовательного вызова методов
Имеется скрипт (назовем его "главный", в котором создаётся некоторый экземпляр класса с атрибутами для работы его методов из некоего модуля (или библиотеки).
import foolib
attr1 = 4
attr2 = [5, 5, 3]
attr3 = 'foobar'
bar = foolib.Bar(attr1, attr2, attr3)
methods = [bar.method1, bar.method2, ..., bar.methodN]
result = ''
for method in methods:
result += method()
print(result)
Класс содержит, например, 7-8 методов (не считая конструктора и т.п.), результатами выполнения которых является, например, строка. У класса есть атрибуты, которые используются теми или иными его методами, причем могут быть использованы как все сразу атрибуты, так и лишь некоторые.
class Bar:
def __init__(self, attr1, attr2, attr3):
self.attr1 = attr1
self.attr2 = attr2
self.attr3 = attr3
def method1(self):
# some actions using self.attr1, self.attr3 or other combinations and attributes
...
return result
def method2(self):
# some actions using self.attr2, self.attr3 or other combinations and attributes
...
return result
def method3(self):
# some actions using self.attr1, self.attr2 or other combinations and attributes
...
return result
...
def methodN(self):
# some actions using attributes
...
return result
В "главном модуле" производится последовательный вызов всех методов для получения данных. Вопрос заключается в следующем: этично ли в данном случае создать список из методов класса, а затем при прохождении этого списка вызывать каждый метод в цикле при этом передав нужные им данные через атрибуты класса ещё при создании экземпляра класса?