我在 Python 3.4 中有这样的函数:
def is_value_valid(the_str):
return len(the_str) != 0
当然还有其他的写法,比如return the_str != ""
. 有没有更多的 Pythonic 方式来编写这个表达式?我熟悉真/假的概念,所以我知道我可以在 if 条件下简化它:
if not the_str:
# do stuff
但是在它的表达式中if
期望一个布尔结果(这是我作为一个 C++ 程序员的天真的过度简化;我不熟悉这个标准)。但是,没有任何东西可以强制表达式在 return 语句中计算为布尔值。我试过只返回字符串,只要没有人将返回的值视为字符串,它在布尔上下文下调用代码就可以正常工作。但从后置条件的角度来看,我不想返回非布尔类型。