在python中,有没有一种方法可以将变量与自身进行比较?基本上,我正在尝试检查提供给变量'X‘的值是否发生了变化。
在更简单的术语中,例如,
上午10:30的X值为= 23
上午10:40的X的值为= 23 (可以相同)
上午10:50的X值为= 30 (过一段时间后可能会发生变化)
所以我想知道如何使用python监控变量'X‘的变化?
我希望我的问题是清楚的。
提前感谢!
发布于 2021-01-22 13:49:50
在更改x的值之前,可以将x的原始值放入另一个变量中。
x = 12
y = x
x = 32 # Change your x value after declaring y
if x == y:
print("Changed")
else:
print("Not changed")发布于 2021-01-22 13:32:06
为什么不在进程结束时使用oldx = x将x存储在oldx变量中呢?如果x不是一个简单的类型类型,而是一个list或类似于在使用=时创建更多引用的类型,那么您可以导入copy module并执行以下操作:
import copy
#Before process
oldx = copy.deepcopy(x)
#Process that may change x
#Compare x after process
if oldx = x:发布于 2021-02-10 06:21:38
嗯,我相信在这种情况下,watchpoints是你需要的完美的库。
观察点可以监视任何变量,并在默认情况下通过打印或任何自定义回调通知您。
例如:
from watchpoints import watch
a = 10 # This is the initial value
watch(a) # Now you will monitor all changes to this variable
# Some code that won't change a here
a = 20 # a is changed, and you will get some detailed info in your stdout类似于:
====== Watchpoints Triggered ======
Call Stack (most recent call last):
<module> (my_script.py:5):
> a = 20
a:
10
->
20它会告诉你在哪个文件上,在哪一行,变量被改变了,先前的值和当前的值。如果您需要的不仅仅是打印,您可以定义自己的回调函数。只需查看https://github.com/gaogaotiantian/watchpoints了解它的用法。
https://stackoverflow.com/questions/65839640
复制相似问题