制作一个pythonic单行语句,如“如果标志返回True”?

时间:2015-06-27 16:54:47

标签: python syntax

有没有办法为

编写一行python语句
if flag:
   return True

请注意,这可能在语义上与

不同
return flag

在我的情况下,否则预计会返回。

我尝试过“返回True if flag”,我的emacs检测到语法错误。

3 个答案:

答案 0 :(得分:8)

return True if flag不起作用,因为您需要提供明确的else。你可以使用:

return True if flag else None

复制原始if语句的行为。

答案 1 :(得分:1)

您可以使用:

return bool(flag) or None

答案 2 :(得分:0)

如果在标志为假值时返回False,则可以使用bool return bool(flag)

或者以下可能取决于您是否返回无:

 return True if flag else None

如果您正在测试返回值if False并且if True将评估为False,那么除非您明确测试None,否则return bool(flag)就足够了。