如何在return语句中将字符串求值为布尔值?

2024-06-23 18:37:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python 3.4中有一个类似的函数:

def is_value_valid(the_str):
    return len(the_str) != 0

当然还有其他的方法来编写这个,比如return the_str != ""。有没有更多的Python式的表达方式?我熟悉“真理/谬误”的概念,因此我知道在“如果”条件下,我可以简化这一点:

^{pr2}$ <^ >但是^ {CD2>} EM>期望EEM>表达式中的布尔结果(这里是我作为C++程序员的简单朴素化,我不熟悉标准化)。但是,force表达式中没有返回值的布尔表达式。我尝试过只返回字符串,只要没有人把返回的值当作字符串处理,那么在布尔上下文下调用代码就可以了。但从后置条件的角度来看,我不想返回非布尔类型。在


Tags: the方法函数字符串lenreturnisvalue
3条回答
>>> bool("foo")
True
>>> bool("")
False

空字符串的计算结果为False,但其他所有字符串的计算结果为True。所以这不应该用于任何解析目的。在

所以你只要return bool(the_str)。在

if语句自动将字符串计算为布尔值。但是,如果您想将字符串作为布尔值返回,您只需这样做

return bool(the_str)

这正是^{} function所做的;根据对参数的truth value的求值返回布尔值,就像if语句一样:

return bool(the_str)

请注意,if并不期望一个布尔值。它只是计算表达式结果的真值。在

相关问题 更多 >

    热门问题