9. bool
原创...大约 3 分钟
1. 布尔值
意义:表示判断中的是与否。一般用于条件测试中。
In [1]: a = True
In [2]: a
Out[2]: True
In [3]: 10 < 5
Out[3]: False
In [4]: 10 > 8
Out[4]: True
- 所有的非空就是 True
- 所有的空序列,空数字皆为 False
2. 逻辑运算符
逻辑运算符:用于检测两个或两个以上的条件是否满足
逻辑运算只存在于布尔类型中。
逻辑运算符 | 描述 |
---|---|
and(逻辑‘与’) | 当运算符两边的两个运算对象都为 True 时,结果才为 True |
or(逻辑‘或’) | 当运算符两边大的两个运算对象其中有一个为 True,结果即为 True |
not(逻辑‘非’) | 反转运算符对象的状态 |
exp | bool | value | return value |
---|---|---|---|
3 and 5 | True and True | True | 5 |
3 or 5 | True or True | True | 3 |
0 or 5 | False or True | True | 5 |
3 and not 5 | True and False | False |
print(3 and 5)
print(3 or 5)
print(0 or 5)
print(3 and not 5) # 不会返回 not 5
# output
5
3
5
False
In [5]: True and False or True
Out[5]: True
In [6]: False or False or not False
Out[6]: True
3. 表达式应用————条件测试
- 检查当前变量是否与一个特定值相等/不相等
- 比较数字大小
- 检查特定值是否在序列里
- 使用 and 检查多个文件
In [7]: age_lilei = 17
In [8]: age_hanmeimei = 18
In [9]: age_lilei >= 18 and age_hanmeimei >= 18
Out[9]: False
In [10]: age_lilei >= 16 and age_hanmeimei >= 16
Out[10]: True
- 使用 or 检查多个文件
In [11]: age_lilei >= 18 or age_hanmeimei >= 18
Out[11]: True
In [12]: age_lilei >= 20 or age_hanmeimei >= 20
Out[12]: False
4. 练习
- (多选)以下哪些值可以被当作布尔值中的 False?
A. 0
B. None
C. 空序列
D. 空字典
- 判断输出:给定
x = True
和y = False
,表达式x and y
的结果是什么? - 布尔运算:如果
a = 5
,b = 3
,那么a > b
和a == (b + 2)
的结果是什么? - 逻辑表达式:对于
x = 10
,y = 20
,表达式not (x > y or y > x)
的结果是什么? - 组合逻辑:给定
a = True
,b = False
和c = True
,计算表达式(a and b) or (a and c)
的结果。 - 比较操作:假设有
list1 = [1, 2, 3]
和list2 = [1, 2, 3]
,list1 == list2
和list1 is list2
的结果是什么? - 布尔值转换:使用
bool()
函数,bool(0)
,bool(0.0)
,bool("")
,bool("False")
分别的结果是什么? - 优先级问题:给定
x = False
,y = True
和z = False
,计算表达式x or y and z
的结果,并解释为什么。 - 逻辑非操作:对于
flag = True
,not flag
的结果是什么? - 混合类型逻辑:如果
x = "hello"
和y = ""
,那么bool(x) and bool(y)
的结果是什么? - 条件表达式实践:写一个表达式,使用三元运算符,如果
age = 18
,返回"成年"
,否则返回"未成年"
。
你认为这篇文章怎么样?
- 0
- 0
- 0
- 0
- 0
- 0