2024-09-21 05:23:55 发布
网友
最近我调试了一些代码,无意中设置了一个条件断点,如下所示:
my_var = some_val
事实上,我想
my_var == some_val
很明显,这不是我想做的事情,但它让我对调试时的行为感到好奇(以及在引擎盖下发生的其他事情)。该语句是否已执行和存储?也就是说,如果第一行用作条件,那么每次遇到该行时my_var实际上会发生some_val
my_var
some_val
我注意到了这一点,因为我总是碰到那个断点,所以“条件”总是计算为True
True
我只是好奇地想知道那层下面发生了什么
已对其进行评估,但未存储。原因是因为您可以覆盖__eq__方法,x == y是一个函数调用
__eq__
x == y
简短示例:
class A: def __eq__(self, other): print "Evaluated !" a = A() a == 1 # it prints "Evaluated !"
已对其进行评估,但未存储。原因是因为您可以覆盖
__eq__
方法,x == y
是一个函数调用简短示例:
相关问题 更多 >
编程相关推荐