有没有办法在python中的if条件中分配变量,如:
if (i=variable)!='literal' :
答案 0 :(得分:4)
没有
i = variable
if i != 'literal':
whatever
答案 1 :(得分:3)
在python语法中,赋值是一个语句,并且语句永远不会出现在表达式中,所以没有。
除了,如果你是真的,真的邪恶,你可以这样做:
if (var.i = value) != 'literal': pass
其中var
是一个带有讨厌的__setattr__
的对象,它向前走了当前执行帧的堆栈(通过抛出异常并检查堆栈跟踪对象),在正确的范围内分配了变量,然后返回了它的价值。
(Muahahahahahaha ....)