Как в ООП создать глобальную переменную? Есть словарь, который нужно создать один раз при запуске программы, и работать с ним. Пробовал такое реализовать при помощи глобальной переменной, но говорят, что в ООП их лучше не использовать. Каким образом можно решить данную проблему?class One:
def __init__(self):
Two().keyDir()
class Two:
def keyDir(self):
self.keyboardDir = {}
print(self.keyboardDir)
def message(self):
self.keyboardDir["Word"] = {'Key':'Value'}
print(self.keyboardDir)
Two().message()
if __name__ == "__main__":
One()

21 Авг 2019 в 06:58
214 +1
0
Ответы
1

Для решения данной проблемы в ООП можно использовать статические переменные или методы. Вот как можно модифицировать ваш код, чтобы использовать статическую переменную для словаря:

class Two:
keyboardDir = {}
def __init__(self):
pass
def keyDir(self):
print(Two.keyboardDir)
def message(self):
Two.keyboardDir["Word"] = {'Key':'Value'}
print(Two.keyboardDir)
class One:
def __init__(self):
Two().keyDir()
Two().message()
if __name__ == "__main__":
One()

В этом примере приведен метод использования статической переменной keyboardDir в классе Two. Теперь словарь будет общим для всех экземпляров класса Two, и вы сможете обращаться к нему, не создавая каждый раз новый экземпляр класса.

20 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир