Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 26, 2010 10:31:59

bublik
От:
Зарегистрирован: 2010-12-26
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

переменная на уровне модуля

хочу задать глупый вопрос - можно ли в Питоне задать переменную на уровне модуля? Ну не надо мне засылать ее отдельно в каждую функцию в виде параметра, достаточно чтобы она запоминалась и преобразовывалась в этих функциях, пока работает программка…
ну как например, в VB можно объявить переменную вверху модуля и использовать ее во всех sub/function.
что-то не нашел в пособиях про это :(



Офлайн

#2 Дек. 26, 2010 11:19:38

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

переменная на уровне модуля

можно
a.py

va = 'hello'
b.py
from a import va
vb = ''
def test():
global vb
vb = 'world'
print va,vb
test()

Офлайн

#3 Дек. 26, 2010 12:08:26

bublik
От:
Зарегистрирован: 2010-12-26
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

переменная на уровне модуля

o7412369815963
можно
a.py
va = 'hello'
b.py
from a import va
vb = ''
def test():
global vb
vb = 'world'
print va,vb
test()
Спасибо! т.е. не на уровне модуля, а на уровне модулей. Витиевато, IMHO, но работает.



Офлайн

#4 Дек. 26, 2010 18:43:59

guranvir
От:
Зарегистрирован: 2010-03-16
Сообщения: 186
Репутация: +  0  -
Профиль   Отправить e-mail  

переменная на уровне модуля

Ну логика проста: просто если нет метки global то Python решит, что вы создаете локальную переменную, он же не может знать какие у вас мысли.А с меткой global python будет искать переменную не только в области видимости функции, но и в области видимости модуля.



Отредактировано (Дек. 26, 2010 18:44:45)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version