为什么空列表和布尔文本会产生空列表,但空列表或布尔文本生成布尔值?[复制]

Why empty list AND a boolean literal yields an empty list, but empty list OR a boolean literal a bool? [duplicate]

提问人:gmauch 提问时间:1/2/2023 更新时间:1/2/2023 访问量:36

问:

标题几乎概括了这一切。

为什么在 Python 中,执行具有空列表和布尔文本(如或)的逻辑返回空列表,但执行逻辑返回布尔值?andTrueFalseor

直接在 Python 中,这是我所做的,但还没有理解它:

$ python
Python 3.10.6 (main, Aug 24 2022, 14:30:54) [GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> empty_list = []
>>> empty_list
[]
>>> empty_list and True
[]
>>> empty_list and False
[]
>>> empty_list or True
True
>>> empty_list or False
False

我知道我可以使用强制转换,然后我只会将布尔值作为返回值,但我的问题是使用一个或返回不同类型的不同有什么不同?他们不是都是逻辑运算符吗?bool(empty_list)andor

python 布尔逻辑

评论


答: 暂无答案