Python中13 and 9的返回值是什么?为何and运算符返回数值而非True?
Python中
and运算符的实际行为解析 13 and 9的计算结果是9,13 and 19的结果是19。- Python的
and并非单纯返回布尔值,而是返回参与运算的实际对象,遵循短路求值逻辑:- 若第一个表达式为假值(如0、
False、None、空字符串、空列表等),直接返回第一个值; - 若第一个表达式为真值(除假值外的所有值,比如非零数字),则返回第二个值。
- 若第一个表达式为假值(如0、
- 你之前的误解来自对布尔规则的简化理解——
and在逻辑判断场景中表现为“两侧均为真则为真”,但Python的and本身会返回实际参与运算的对象,而非强制转换为布尔值。如果需要得到标准布尔结果,可通过bool(13 and 19)获取True。
内容的提问来源于stack exchange,提问作者Md Towhidul Islam
相关产品推荐
相关产品推荐

