Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
做一个类似于“python”的单行语句;如果标志为“0”,则返回True;?_Python_Syntax - Fatal编程技术网

做一个类似于“python”的单行语句;如果标志为“0”,则返回True;?

做一个类似于“python”的单行语句;如果标志为“0”,则返回True;?,python,syntax,Python,Syntax,有没有一种方法可以为其编写一行python语句 if flag: return True 注意,这在语义上可能与 return flag 在我的情况下,如果不是这样的话,预计不会返回任何文件 我尝试过使用“return True if flag”,它有我的emacs检测到的语法错误 如果在标志值为False时返回False,则可以使用boolreturn bool(flag) 或者,根据是否返回None,可能会出现以下情况: return True if flag else None

有没有一种方法可以为其编写一行python语句

if flag:
   return True
注意,这在语义上可能与

return flag
在我的情况下,如果不是这样的话,预计不会返回任何文件


我尝试过使用“return True if flag”,它有我的emacs检测到的语法错误

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

或者,根据是否返回None,可能会出现以下情况:

 return True if flag else None

如果您正在测试返回值
If False
If True
都将计算为False,因此除非您显式地测试无,否则
返回bool(flag)
就足够了。

如果flag
不起作用,则返回True,因为您需要提供显式的
else
。您可以使用:

return True if flag else None
return bool(flag) or None
要复制原始if语句的行为,可以使用:

return True if flag else None
return bool(flag) or None

我猜
if flag:return True
不是您想要的。。。对我来说,它看起来非常简洁明了。如果flag是falsy,那么预期的返回值是多少<代码>无?为什么需要单线解决方案?你的两行字完全可读。你的文本编辑器会为额外的代码行收费吗?;)@泽尔,你是如何使用返回值的
if-flag:return-True
也是一种违反pep8的行为,所以并不完全是pythonicYou似乎有误解<代码>简单比复杂好。和
稀疏比密集好。
这与您的情况中的一行正好相反。