【发布时间】:2020-05-11 00:51:56
【问题描述】:
我在查看一些问题时偶然发现了this post。虽然这个问题是针对 Angular JS 的,但我认为 Python 可能会很有趣。每次检测变量值的变化对于调试和查看值在此过程中偏离的位置非常有用。
所以我的问题是,你能找到变量每次改变它的值吗?还是名字?
【问题讨论】:
标签: python python-3.x variables
我在查看一些问题时偶然发现了this post。虽然这个问题是针对 Angular JS 的,但我认为 Python 可能会很有趣。每次检测变量值的变化对于调试和查看值在此过程中偏离的位置非常有用。
所以我的问题是,你能找到变量每次改变它的值吗?还是名字?
【问题讨论】:
标签: python python-3.x variables
如果您想避免 getter/setter (setvariable(5)) 的括号,那么最好的办法就是创建一个属性。然后你可以在里面放任何类型的调试逻辑。
class Container:
def __init__(self):
self._value = 5
@property
def value(self):
print("Accessing value")
return self._value
@value.setter
def value(self, new_value):
print(f"Setting value to {new_value}")
self._value = new_value
虽然它只适用于一个类。除此之外,我不确定是否有一种简单的方法可以实现您想要的。然后您可以设置/获取变量:
>>> x.value
Accessing value
5
>>> x.value = 10
Setting value to 10
【讨论】: