Как эффективно обнаружить изменение переменной в Python 3? - PullRequest
0 голосов
/ 08 июля 2019

Я хотел бы знать, как эффективно проверить, изменилась ли переменная в значении, и если это произошло, чтобы вернуть это значение. На данный момент у меня есть что-то вроде этого:

while(True):
    if paramCHK == x:
        // do this
    elif paramCHK == y:
        // do that
        // and that
        // and that

Проблема с вышеприведенной реализацией состоит в том, что когда я нахожусь в предложении elif и параметр изменяется на x, это не определяется, поскольку время выполнения предложения слишком велико.

Я имел в виду создание потока и постоянный мониторинг параметра в параллельном режиме, а при обнаружении изменения сообщать об этом основной функции:

myThread():
    if paramCHK.changed():
        notify_main() 

main():
   when notification:
       getParamValue()
       // do something depending the value

Как бы вы решили это в python? Заранее спасибо

1 Ответ

0 голосов
/ 08 июля 2019
pastx=x
while True:
    if x != pastx:
        pastx=x
        alert()    
    pastx=x

Этот бит кода может идти в начале вашего цикла while, он обнаружит, изменился ли x в последнем цикле, и запустит функцию alert (), если он имеет

...