Прежде всего, я хотел бы выделить здесь использование неверной терминологии.Конструктор и инициализатор - это две разные вещи в Python.Конструкторы реализованы с помощью метода __new__
, который контролирует создание объекта класса.Инициализатор использует метод __init__
и управляет инициализацией объекта после того, как он был создан.
Почти во всех случаях конструкторы вызываются неявно с использованием реализации __new__
базового класса, и вам редко требуется переопределять егооднако с инициализатором все обстоит с точностью до наоборот, потому что вы захотите настроить инициализацию объекта после того, как он был создан.
Теперь перейдем к вашему вопросу, это зависит от того, как вы хотите контролировать свое приложение, я делаюне вижу никаких проблем, если вы запускаете контейнер в initliazer класса, т.е. внутри __init__
.Что бы это сделать, как только объект будет создан, он также запустит контейнер докера.
Однако, если вы хотите быть более явным об этом и хотите иметь отдельные методы экземпляра для start
иstop
, даже это не было бы проблемой, просто теперь вам нужно явно вызывать метод start
после создания объекта.