我正在从配置为输入的通用IO (GPIO)中读取一个值,它返回的字符串为0或1。我看到了将其转换为布尔值的两种简单方法:
bool(int(input_value))或
not not int(input_value)哪一个是最毕不过的?是否有比上面提到的更多的毕达通方式?
发布于 2018-09-04 13:29:05
有很多方法,但我想提出以下建议:
{'0': False, '1': True}[input_value]如果您得到的值与您预期的值不同(由于错误、故障、API更改等原因),这具有引发异常的优点。
到目前为止,所有其他选项都将静默地接受任何字符串作为输入。
发布于 2018-09-04 13:25:33
如果您的input_value必须是"1"或"0",并且如果它是"1",则希望您的布尔值为真,则需要布尔表达式。
input_value=="1"例如。
bool_var = (input_value=="1")如果True等于"1",则给出False,如果它等于"0" (或其他任何东西),则给出False。
https://stackoverflow.com/questions/52167337
复制相似问题