我正在从一个配置为输入的通用IO(GPIO)读取一个值,它返回一个字符串,要么是0要么是1。我认为有两种简单的方法将其转换为布尔值:
bool(int(input_value))
或者
not not int(input_value)
哪种方法是最符合Python风格的?是否有比上述方法更符合Python风格的方法?
我正在从一个配置为输入的通用IO(GPIO)读取一个值,它返回一个字符串,要么是0要么是1。我认为有两种简单的方法将其转换为布尔值:
bool(int(input_value))
或者
not not int(input_value)
有很多种方法,但我想提出以下建议:
{'0': False, '1': True}[input_value]
如果您遇到预期不同的值(由于错误、故障、API更改等原因),则此方法具有引发异常的优点。
到目前为止提供的所有其他选项都会静默地接受任何字符串作为输入。
"1"
或"0"
,并且你希望当它为"1"
时布尔值为真,则你需要以下布尔表达式。input_value=="1"
例如
bool_var = (input_value=="1")
如果input_value
等于"1"
,则返回True
,如果等于"0"
(或其他任何值),则返回False
。