有没有办法在python中的if条件中分配变量

时间:2011-02-23 09:57:12

标签: python

有没有办法在python中的if条件中分配变量,如:

if (i=variable)!='literal' :

2 个答案:

答案 0 :(得分:4)

没有

i = variable
if i != 'literal':
    whatever

答案 1 :(得分:3)

在python语法中,赋值是一个语句,并且语句永远不会出现在表达式中,所以没有。

除了,如果你是真的,真的邪恶,你可以这样做:

if (var.i = value) != 'literal': pass

其中var是一个带有讨厌的__setattr__的对象,它向前走了当前执行帧的堆栈(通过抛出异常并检查堆栈跟踪对象),在正确的范围内分配了变量,然后返回了它的价值。

(Muahahahahahaha ....)