@Mikhail5482

Как фиксировать изменение значения переменной в Python?

thtol = 5
Как мне зафиксировать изменение переменной?
Переменная может изменится на любое значение.
Допустим переменная меняется и сразу же выполняется print('Переменная поменяла свое значение')
  • Вопрос задан
  • 1607 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Не так, переменная меняется не присвоением ей значения, а за счет парсинга с сайта

Вот что я люблю в вопросах от нубов - никогда не знаешь, про что вопрос на самом деле.
Твой вопрос звучит так, словно тебя интересует любое присвоение значения переменной, даже если новое значение равно старому. И советы тебе дают в этом направлении. А тебе ведь нужно обнаружить изменение значения, так? Если так, читай дальше.

Тебе нужно сохранять предыдущее значение переменной. Если программа работает постоянно - можно сохранить в другой переменной. Если нужно, чтобы сведения пережили перезапуск - сохраняй в файл или ещё куда.
Так или иначе, по завершению парсинга, когда у тебя есть новое значение, ты сравниваешь его со старым. И если они не равны, реагируешь на это. Ну и сразу переносишь новое значение в переменную для старого, чтобы при следующем сравнении уже сравнивать с более новым. Что-то типа:
old_value = None
while True:
    new_value = parse_site()  # parse_site() - написанная тобой функция, которая возвращает искомое значение
    if old_value is not None and new_value != old_value:  # если это не первый раз, и значение изменилось
        print('Значение изменилось!')
    old_value = new_value  # чтобы в следующий раз сравнивать с последним увиденным значением
    time.sleep(600)  # спим 10 минут, чтобы не долбить сайт запросами


Ну и да, неважно откуда ты берёшь значение. Ты всё равно присваиваешь его переменной. Всё равно.
Если ты этого не понимаешь - отложи свой парсер, и почитай хороший учебник по Питону, того же Марка Лутца, "Изучаем Питон".
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы