У меня есть сингалтон класс, в функции __init__ у меня есть ряд переменных окружения, которые я хочу использовать в дальнейшем, но при создании ссылки на уже существующий экземпляр класса, они пропадают. (При иницилизации они равны None). Отсюда вопрос можно ли как то, запретить вызов метода __init__ при создании ссылки на класс ну или по другому решить эту проблему?
Вот часть класса, о которой в вопросе идет речь.
class GetData:
instance = None
def __new__(cls, *args, **kwargs):
if cls.instance is None:
cls.instance = super().__new__(cls)
return cls.instance
def __init__(
self,
host=None,
user=None,
password=None,
port=None,
):
if (
(host is not None)
and (user is not None)
and (password is not None)
and (port is not None)
):
self.client = Client(host=host, user=user, password=password, port=port)