首页 > 解决方案 > 为什么 print('a' and 'b') 在 python 中返回 'b'?

问题描述

我认为理解 print('a' or 'b') 返回'a',因为如果 x 为真,x 或 y 给出 x,'a' 可以解释为?但是为什么 print('a' and 'b') 返回 'b'?

标签: pythonstringboolean

解决方案


or如果它是真实的,则返回第一个值,否则返回第二个值。同时,and如果它是虚假的,则返回第一个值,否则返回第二个值。这与运算符的定义一致:

True or _ = True
False or x = x
True and x = x
False and _ = False

此外,所有非空字符串都是真实的。


推荐阅读