在 Python 中从字符串转换为布尔值?

2022-01-19 00:00:00 python string boolean

问题描述

有谁知道如何在 Python 中将字符串转换为布尔值?我发现 这个链接.但这看起来不是正确的方法.IE.使用内置功能等.

Does anyone know how to do convert from a string to a boolean in Python? I found this link. But it doesn't look like a proper way to do it. I.e. using built-in functionality, etc.

我之所以问这个是因为我从这里了解了 int("string").但是当尝试 bool("string") 它总是返回 True:

The reason I'm asking this is because I learned about int("string") from here. But when trying bool("string") it always returns True:

>>> bool("False")
True


解决方案

真的,您只需将字符串与您期望接受的表示 true 的字符串进行比较,因此您可以这样做:

Really, you just compare the string to whatever you expect to accept as representing true, so you can do this:

s == 'True'

或检查一大堆值:

s.lower() in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']

使用以下内容时要小心:

Be cautious when using the following:

>>> bool("foo")
True
>>> bool("")
False

空字符串评估为 False,但其他所有字符串评估为 True.所以这不应该用于任何类型的解析目的.

Empty strings evaluate to False, but everything else evaluates to True. So this should not be used for any kind of parsing purposes.

相关文章