一、布尔类型(Boolean)
布尔类型只有两个值:
True(真)False(假)
is_valid = True
has_permission = False
print(type(is_valid)) # <class 'bool'>
二、比较运算符
比较运算符用于比较两个值的关系,返回布尔值(True 或 False)。
1. 数值比较
x = 5
y = 10
print(x > y) # False(大于)
print(x < y) # True(小于)
print(x >= 5) # True(大于等于)
print(y <= 10) # True(小于等于)
print(x == y) # False(等于)
print(x != y) # True(不等于)
2. 字符串比较
按字典序(Unicode 值)比较:(相对于C语言ASCII码一样,可以查到)
print("apple" < "banana") # True
print("Apple" == "apple") # False(大小写敏感)
print("10" > "2") # False(字符串比较,非数值!)
3. 对象身份比较
is:判断两个对象是否为同一个实例(内存地址相同)。is not:相反。
a = [1, 2]
b = [1, 2]
c = a
print(a == b) # True(值相等)
print(a is b) # False(不同对象)
print(a is c) # True(同一对象)
4. 成员资格比较
in:判断元素是否存在于序列(如字符串、列表、元组)或集合(如字典、集合)中。not in:相反。
fruits = ["apple", "banana", "cherry"]
print("apple" in fruits) # True
print("grape" not in fruits) # True
print("a" in "apple") # True(字符串也是序列)
print(1 in {"a": 1, "b": 2}) # False(只检查键,不检查值)
三、逻辑运算符
用于组合多个布尔表达式,返回布尔值。
1. and(与)
- (相同与C语言&&)
- 所有条件为
True时,结果为True。 - 短路特性:若第一个条件为
False,则直接返回False,不再计算后续条件。
x = 5
print(x > 0 and x < 10) # True(两个条件都满足)
print(x > 10 and x < 20) # False(第一个条件失败,短路)
2. or(或)
- (相同与C语言||)
- 任一条件为
True时,结果为True。 - 短路特性:若第一个条件为
True,则直接返回True,不再计算后续条件。
x = 5
print(x < 0 or x > 3) # True(第二个条件满足)
print(x < 0 or x > 10) # False(两个条件都失败)
3. not(非)
- (相同与C语言 ! )
- 取反:
True变False,False变True。
x = 5
print(not x > 10) # True(x > 10 为 False,取反后为 True)
四、布尔值的隐式转换
在条件判断中,非布尔值会被隐式转换为布尔类型。以下值被视为 False:
False、None- 数值
0(包括0,0.0,0j) - 空序列或集合:
'',[],(),{},set()
示例:
value = ""
if not value: # 空字符串被视为 False
print("值为空")
numbers = [1, 2, 3]
if numbers: # 非空列表被视为 True
print("列表不为空")
五、优先级与结合性
比较运算符和逻辑运算符的优先级(从高到低):
notandor
# 等价于 (x > 0 and x < 10) or y == 5
print(x > 0 and x < 10 or y == 5)
# 推荐使用括号明确优先级,提高可读性
print((x > 0 and x < 10) or y == 5)
总结
| 类型 | 运算符 | 示例 | 结果 |
|---|---|---|---|
| 比较运算符 | >, <, >=, <= | 5 > 3 | True |
==, != | 5 != 3 | True | |
is, is not | a is b | False | |
in, not in | "a" in "apple" | True | |
| 逻辑运算符 | and | True and False | False |
or | True or False | True | |
not | not True | False |
合理使用布尔类型和比较运算符,可以构建复杂的条件逻辑,控制程序的执行流程。
希望你也能成为一个年薪百万的程序员,加油!

被折叠的 条评论
为什么被折叠?



