Python: класс с глобальными переменными ⇐ Python

Программы на Python
Anonymous
Python: класс с глобальными переменными

Сообщение Anonymous »

Конечно, глобальных переменных быть не должно — переменные должны передаваться вместе с вызовами функций. Моя фактическая реализация требует множества переменных, которые используются в разных модулях «xxx.py». Поэтому я попытался создать собственный класс, включающий эти переменные, и поместить его в собственный модуль с именем, например. "vars.py":

Код: Выделить всё

class GlobalVariables():
def __init__():
a = 42
e = 2.71828
c = ["good","music"]
# ---> should I place:
gv = GlobalVariables()     # (1)here
Основная программа в этом случае будет выглядеть так (1)

Код: Выделить всё

from vars.py import gv
def main():
gv.a = 73
...
и в случае (2)

Код: Выделить всё

from vars.py include GlobalVariables
gv = GlobalVariables()     # (2)in the main program

def main():
gv.b = 2.71828
...
Я предпочитаю первый метод, поскольку gv используется во многих отдельных модулях. Определяя gv в каждом модуле отдельно, в каждом модуле, безусловно, есть разные переменные gv.
Прочитав множество инструкций и постов о классах и глобальных переменных, я запутался, какой способ применим - или есть ли другой способ? совершенно другой подход к этой проблеме?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -variables

Вернуться в «Python»