#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()