Python bool compare vs string compare

时间:2016-06-03 13:08:31

标签: python

这个问题远没有完美。

我遇到的情况是我必须从post获取参数并检查它是True还是False(在python中),并相应地调用LOC。

显然,参数读取的类型为<str>if param:始终返回True

我现在有两个选择,
1.将<str>转换为<bool>(编写自己的代码进行转换,或使用ast.literal_eval或导入from distutils.util import strtobool
2.像if param == "True":

那样进行字符串比较

问题是最佳做法是什么?

2 个答案:

答案 0 :(得分:2)

我肯定不会将字符串转换为布尔值,这对于简单的逻辑语句来说是太多的开销。 您应首先确保参数的值为“True”或“False”。

然后:

if (param == 'True'):
    # True code here
else:
    # False code here

答案 1 :(得分:0)

内存注意事项:

For String
sys.getsizeof("True")
>> 41
sys.getsizeof("False")
>> 42

For Boolean
sys.getsizeof(True)
>> 24
sys.getsizeof(False)
>> 24