У меня есть класс, который используется в моем веб-приложении с параметрами, которые передаются от пользователя. давайте возьмем этот пример, например:
class SomeObject():
def __init__(self, param1, param2, logger_object):
logger_object.log("init...")
self.param1 = param1
self.param2 = param2
Теперь мне нужна опция для создания экземпляра этого класса в режиме без головы (чтобы я мог автоматически запускать его через Jenkins).
Итак, я знаю, что могу использовать это:
if __name__ == "__main__":
logger = initialising logger # question about this later
param1 = "param1"
param2 = "param2"
some_object = SomeObject(param1, param2, logger)
и мой вопрос таков:
это правильный / питонский способ сделать это? или мне лучше создать другой класс и наследовать от SomeObject?
Кроме того, текущий файл не импортирует модуль логгера, потому что обычно он не нужен. Я не хочу импортировать этот модуль без причины, поэтому я подумал, что это можно сделать так:
if __name__ == "__main__":
from logger.location import logger
logger = logger()
param1 = "param1"
param2 = "param2"
some_object = SomeObject(param1, param2, logger)
Но я не уверен, что это также рекомендуется. Мысли / идеи?