Найти - Пользователи
Полная версия: Доступ переменной вне условия
Начало » Python для новичков » Доступ переменной вне условия
1
free_kode
    messageClientFrom = ''

if messageBody == '_sms':
messageClientFrom = messageFrom
smsSend('+79506743650','testing',0)
if messageFrom == 'mrim.jabber.ru':
print'fr4', messageClientFrom
#botClient.send(xmpp.Message(messageClientFrom,messageBody))
При выполнении первого условия переменная messageClientFrom пуста. А она нужна во втором условии как ее получить?
Infernus
Что значит “как её получить”? При выполнении условия if messageFrom == ‘mrim.jabber.ru’ print'ом будет выведено значение messageForm в случае выполнения условия messageBody == ‘_sms’, либо '' в случае невыполнения. Собственно, это очевидно. Не совсем понятно, что вы имеете в виду.
vlados
messageClientFrom = str(messageFrom)
?
free_kode
Первое условие по любому будет выполнено, поэтому переменная messageClientFrom точно должна иметь значение, а оказывается на оборот, во втором условии она пуста
Infernus
Я прогнал ваш код у себя (убрав вызов smSend() и инициализировав в начале messageFrom и messageBody) — всё нормально.
Вы в какой IDE пишете? Если есть возможность, прогоните через дебаггер, установив breakpoint'ы, и посмотрите на значение переменных.
free_kode
Все ок, я пропустил, функция вызывается несколько раз, и поэтому перменная удаляется согласно первой строке.
Придется делать ее глобальной=\
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB