首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python将变量与自身进行比较

使用python将变量与自身进行比较
EN

Stack Overflow用户
提问于 2021-01-22 13:11:34
回答 4查看 144关注 0票数 1

在python中,有没有一种方法可以将变量与自身进行比较?基本上,我正在尝试检查提供给变量'X‘的值是否发生了变化。

在更简单的术语中,例如,

上午10:30的X值为= 23

上午10:40的X的值为= 23 (可以相同)

上午10:50的X值为= 30 (过一段时间后可能会发生变化)

所以我想知道如何使用python监控变量'X‘的变化?

我希望我的问题是清楚的。

提前感谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-01-22 13:49:50

在更改x的值之前,可以将x的原始值放入另一个变量中。

代码语言:javascript
复制
x = 12
y = x
x = 32 # Change your x value after declaring y
if x == y:
    print("Changed")
else: 
    print("Not changed")
票数 0
EN

Stack Overflow用户

发布于 2021-01-22 13:32:06

为什么不在进程结束时使用oldx = x将x存储在oldx变量中呢?如果x不是一个简单的类型类型,而是一个list或类似于在使用=时创建更多引用的类型,那么您可以导入copy module并执行以下操作:

代码语言:javascript
复制
import copy

#Before process
oldx = copy.deepcopy(x)

#Process that may change x



#Compare x after process
if oldx = x:
票数 0
EN

Stack Overflow用户

发布于 2021-02-10 06:21:38

嗯,我相信在这种情况下,watchpoints是你需要的完美的库。

观察点可以监视任何变量,并在默认情况下通过打印或任何自定义回调通知您。

例如:

代码语言:javascript
复制
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

类似于:

代码语言:javascript
复制
====== Watchpoints Triggered ======
Call Stack (most recent call last):
  <module> (my_script.py:5):
>   a = 20
a:
10
->
20

它会告诉你在哪个文件上,在哪一行,变量被改变了,先前的值和当前的值。如果您需要的不仅仅是打印,您可以定义自己的回调函数。只需查看https://github.com/gaogaotiantian/watchpoints了解它的用法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65839640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档