在python中的if语句中计算表达式的结果

时间:2011-03-24 19:42:08

标签: python syntax

  

可能重复:
  How to assign a variable in IF, and then return it. (Python)

在Python中有更好的方法吗?:

myVal = getVal()

if not myVal:
    continue

我想做这样的事情:

if not (myVal = getVal()):
    continue

但这不是有效的语法。有没有其他方法可以在一行中执行此操作,如可以在PHP和Perl中完成?

4 个答案:

答案 0 :(得分:3)

对于赋值的返回值,它不是pythonic。在python中,赋值意味着将对象绑定到名称,而不是将值放在内存位置。

答案 1 :(得分:1)

不,你不能这样做。

我想这是因为它太容易与if not (myVal == getVal()):混淆。

答案 2 :(得分:0)

不,你不能这样做。

然而,几乎所有这样的情况都可以在python中更干净地完成。但是,为了向您展示如何做到这一点,我们需要更多的上下文。特别是,你如何继续这个循环。

答案 3 :(得分:0)

你可以试试这个,(取决于getVal可以返回的内容):

if not getVal():
    continue