在 Python 中将字符串转换为布尔值[重复]

问题描述 投票:0回答:2

如何将字符串转换为布尔值?例如:

str = "False and False or True and True"
str = "( "+str+" )"
str = str.replace("and",") and (")

退货

str == '( False ) and ( False or True ) and ( True )'

如何执行

str
,结果为“False”?

python string boolean
2个回答
5
投票

我想你正在寻找

eval
:

>>> eval('( False ) and ( False or True ) and ( True )')
False

注释


2
投票

您可以使用将适当的字符串转换为 True 和 False 的函数

def str2bool(self, v): # Note the self to allow it to be in a class
  return v.lower() in ('yes', 'true', 't', '1', 'yea', 'verily')  # lower() is a method

这也将允许您分析各种用户输入。

© www.soinside.com 2019 - 2024. All rights reserved.