为什么lambda不会改变变量的值

时间:2016-02-23 21:11:23

标签: python lambda python-3.5

我在理解myModel.toJSON(); 时遇到了一些问题。我的观点是将lambda添加到lambda中的变量,直到某个点为止。 实施例;

1

我认为它会在5次后停止,但我意识到lambda只加1次。而这个while循环是无限的。这是为什么?为什么lambda没有为该变量添加1,直到while循环完成,如x = 0 t = lambda y: y+1 while True: print ("Hello") t(x) if x==5: break

1 个答案:

答案 0 :(得分:10)

您需要将DECLARE v_var VARCHAR2(250); SUBTYPE v_var_type IS v_var%type; BEGIN --do something END; 的输出分配给x。你现在做的就像做:

t

而不是

def t(y):
    return y+1

x = 0
t(x)

你需要这样做:

x = t(x)