写一个像 "return True if flag" 这样的 pythonic 单行语句?
Make a pythonic one line statement like "return True if flag"?
有没有办法为
写一行 python 语句
if flag:
return True
请注意,这在语义上可能与
不同
return flag
在我的例子中,None 预计会以其他方式返回。
我试过 "return True if flag",我的 emacs 检测到语法错误。
如果在标志为假值时 return False,则可以使用 bool return bool(flag)
。
或者以下取决于你是否 return None:
return True if flag else None
如果您正在测试 return 值,if False
和 if True
都将计算为 False,因此除非您明确测试 None,否则 return bool(flag)
足够了。
return True if flag
不起作用,因为您需要提供明确的 else
。您可以使用:
return True if flag else None
复制原始 if 语句的行为。
您可以使用:
return bool(flag) or None
有没有办法为
写一行 python 语句if flag:
return True
请注意,这在语义上可能与
不同return flag
在我的例子中,None 预计会以其他方式返回。
我试过 "return True if flag",我的 emacs 检测到语法错误。
如果在标志为假值时 return False,则可以使用 bool return bool(flag)
。
或者以下取决于你是否 return None:
return True if flag else None
如果您正在测试 return 值,if False
和 if True
都将计算为 False,因此除非您明确测试 None,否则 return bool(flag)
足够了。
return True if flag
不起作用,因为您需要提供明确的 else
。您可以使用:
return True if flag else None
复制原始 if 语句的行为。
您可以使用:
return bool(flag) or None