За последние 6 месяцев я создал много классов и функции для разных вычислений. Теперь я хотел бы присоединиться к ним в класс, чтобы его могли использовать другие пользователи. Как и многие из методов, они могут выполняться последовательно, и последовательность может потребоваться несколько раз для разных наборов данных. Я хотел бы создать функцию в основном классе, которая сохраняет процедуру, используемую пользователем, чтобы пользователь мог запустить ее снова, не пройдя всю процедуру снова.Обновление списка при каждом выполнении функции внутри класса с аргументами функции и значениями
Важно: Я бы не хотел менять классы, которые уже были реализованы, но если это единственный способ, не проблема.
Идея была бы более или менее как код представлен ниже:
class process(object):
def __init__(self):
self.procedure = []
def MethodA(valueA):
pass
def MethodB(valueB):
pass
def UpdateProcedure(self, method, arguments, values):
# Execute this every time that MethodA or MethodB is executed.
new = {'Method':method, 'Arguments':arguments, 'Values':values}
self.procedure.append(new)
Например:
a = process.MethodA(2)
b = process.MethodB(3)
print(process.procedure)
>>> [{'Method':'MethodA', 'Arguments':['valueA'], 'Values':[2]}, {'Method':'MethodB', 'Arguments':['valueB'], 'Values':[3]}]
Я попытался использовать функции inspect.currentframe
и __getattribute__
вместе, но я не сделал получить хорошие результаты.
Любые идеи, которые помогут мне в решении этой проблемы?
Благодаря
Вы можете se 'decorator' для достижения этого –