编程语言
首页 > 编程语言> > python-if语句返回一行

python-if语句返回一行

作者:互联网

这个问题已经在这里有了答案:            >            Is it possible to write single line return statement with if statement?                                    4个
我知道“单行如果语句”问题已经被问过多次了,但是我无法弄清楚我的代码出了什么问题.我想转换

def has_no_e(word):
    if 'e' not in word:
        return True

像这样的一行功能:

def hasNoE(word):
    return True if 'e' not in word

但是如果这样做我会收到语法错误-为什么?

解决方法:

我认为是因为您未指定else部分.您应该将其编写为:

return True if 'e' not in word else None

这是因为Python将其视为:

return <expr>

并且您将三元条件运算符指定为< expr>语法如下:

<expr1> if <condition> else <expr2>

因此,Python正在寻找您的其他部分.

返回假?

也许您想在测试失败的情况下返回False.在这种情况下,您可以这样写:

return True if 'e' not in word else False

但这可以缩短:

return 'e' not in word

标签:if-statement,syntax-error,python
来源: https://codeday.me/bug/20191026/1935741.html