这个问题远没有完美。
我遇到的情况是我必须从post获取参数并检查它是True
还是False
(在python中),并相应地调用LOC。
显然,参数读取的类型为<str>
,if param:
始终返回True
。
我现在有两个选择,
1.将<str>
转换为<bool>
(编写自己的代码进行转换,或使用ast.literal_eval
或导入from distutils.util import strtobool
)
2.像if param == "True":
问题是最佳做法是什么?
答案 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