@Delycid

Python Telebot. Не сохраняется значение в переменную. Сможете помочь?

Когда пользователь пишет боту любое сообщение, переменная 'a' должна принимать значение '1', но при выводе этой переменной в конце кода, ее значение остается None. Недавно стал изучать написание ботов и столкнулся с такой проблемой.

a = None    
@bot.message_handler(content_types='text')
def adw(message):
    a = 1
    
print(a)
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ответы на вопрос 3
Ну так ты функцию adw() не вызываешь, по этому а = НОНЕ
Ответ написан
Vindicar
@Vindicar
RTFM!
Читай, как работают глобальные переменные (ключевое слово global) в питоне.

Ты сейчас создаёшь в обработчике события локальную переменную a, которая, разумеется, пропадает, когда обработчик завершается.

Ну и да, я исхожу из того, что у тебя дальше есть код по запуску бота, которому ты привязал этот обработчик.
Ответ написан
Комментировать
Hackerman1
@Hackerman1
17 лет, плохое зрение.
Используй global a, чтобы глобально изменить переменную. Но глобалы - это кал. Не рекомендуется использовать их. А щас ты просто создаешь локальную переменную а
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 22:26
3500 руб./за проект
22 нояб. 2024, в 21:47
3000 руб./за проект
22 нояб. 2024, в 21:44
50000 руб./за проект