Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 26, 2015 18:26:07

Vit_88
Зарегистрирован: 2015-04-06
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Возможна передача переменної между двумя модулями

Собственно вопрос: есть модуль main.py ( описание класа MainWindow и вызов основного окна ).
Возможно ли из одного модуля к примеру main.py ( допустим по нажатию конопки изменяется значение переменної ) передать значение переменної в другой модуль color.py, где это значение будет использовано в операторе if?
Другими словами: если я меняю значение переменної в модуле main.py как сделать так чтоб оно сразу обновлялось в других модулях?

Отредактировано Vit_88 (Апрель 26, 2015 18:26:30)

Офлайн

#2 Апрель 26, 2015 20:52:56

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Возможна передача переменної между двумя модулями

Интерпретатор един - все в вашей власти. Такое легко сделать :)
main.py:

import b
class Tx:
    pass
if __name__ == '__main__':
    b.f()
    a=b.get_a()
    a.x=2
    b.f()
    a.x=3
    b.f()
else:
    a=Tx()
    a.x=1

b.py:
import main
def get_a():
    return main.a
def f():
    print main.a.x

p.s.
1 Многие (включая меня) сочтут использование глобальных по системе переменных дурным тоном и будут критиковать.
2 нужный вам эффект можно получить проще чем показано выше если вспомнить про пространства имен питона. Обратите внимание на __builtins__.



Отредактировано doza_and (Апрель 26, 2015 20:58:19)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version