Структурирование программного обеспечения на Python с плавным интерфейсом

#python

#python

Вопрос:

Я пытаюсь создать свой первый проект на Python, который представляет собой программное обеспечение для внесения некоторых изменений в файл базы данных (gdb-файл).

Идея структурирования кода заключается в следующем:

В моей основной функции я создаю MAP dict, который будет заполняться от функции к функции, вот так:

 def phase2(MAP):
  # do something
  return MAP

def phase1(MAP):
  # do something...
  return MAP

def main():
  MAP = {}
  phase1_result = phase1(MAP)
  phase2_result = phase2(phase1_result)
  

И так далее… нравится плавный интерфейс. Мой вопрос: есть ли лучший подход для вызова функции, передающей результат от другой? Идея заключается в том, чтобы избегать изменения глобальных переменных, избегая побочных эффектов.

Спасибо!

Комментарии:

1. Обычно мы решаем эту проблему (которая во многом связана с увеличением сложности вашей программы), переходя на ООП . Ключевое слово здесь — инкапсуляция.

2. Вы просто изменяете объект? Тогда в return этом нет необходимости, изменения будут видны на первоначально переданном объекте. Во-вторых, почему бы не написать class ? m = Map(); m.phase1(); m.phase2()