python基础第六节 布尔类型和比较运算
6.1 布尔类型(bool)
布尔类型的字面量:
True: 表示真. (对, 肯定, 是.)
False: 表示假. (错, 否定, 否.)
print(type(True))
<class 'bool'>
print(type(False))
<class 'bool'>
python中的布尔类型实际上是数字类型的子类型.
True本质上是一个数字1,False是数字0。
print(True + 1)
print(False + 1)
我们可以通过变量直接定义一个bool类型. 如:
bool_true = True
bool_false = False
我们可以通过bool函数来查询某个变量的bool值。
(1) 数字类型的真假值测试 ----- 非零即真
print(bool(1))
print(bool(0))
print(bool(-1))
print(bool(0.00))
(2)字符串类型的真假值测试
print(bool("a"))
print(bool(" "))
print(bool(""))
print(bool("True"))
print(bool("False"))
在 Python 中,所有的对象都可以进行真假值的测试,包括字符串、元组、列表、字典、对象等,由于目前有些类型尚未学习,因此这里不做过多讲述,后续遇到时会做详细的介绍。
6.2 比较运算符
| 比较运算符 | 说明 |
|---|---|
> |
大于,如果>前面的值大于后面的值,则返回 True,否则返回 False。 |
< |
小于,如果<前面的值小于后面的值,则返回 True,否则返回 False。 |
== |
等于,如果"=="两边的值相等,则返回 True,否则返回 False。 |
>= |
大于等于(等价于数学中的 ≥),如果>=前面的值大于或者等于后面的值,则返回 True,否则返回 False。 |
<= |
小于等于(等价于数学中的 ≤),如果<=前面的值小于或者等于后面的值,则返回 True,否则返回 False。 |
!= |
不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False。 |
is |
用来检查对象的标示符是否一致,也就是比较两个对象在内存中的地址是否一样,而 == 是用来检查两个对象是否相等 |
比较运算符,也称关系运算符,用于对常量、变量或表达式的结果进行大小比较。如果这种比较是成立的,则返回 True(真),反之则返回 False(假)
字符串大小比较: 底层在比较大小的时候实际上就是去对比字符在ascii表里的大小。
(1)与字符串长度无关
(2)只与首字母有关, 首字母一样,才会比较后一位
(3) 字母大小a-z依次增大, 小写是要大于大写的
(4) 字符串中数字比字母小, 数字也是逐位比较
is 判断两个值在内存中的地址是否相同, == 判断值是否相等
print("99是否大于100: ", 99 > 100) # False
print("24*5是否大于等于66: ", 24*5 >= 66) # True
print("3.5是否等于3.5: ", 3.5 == 3.5) # True
print("34是否等于34.0: ", 34 == 34.0) # True
print("aa是否等于AA: ", 'AA' == 'aa') # False
print("aa是否不等于AA: ", 'AA' != 'aa') # True
print("False是否小于True: ", False < True) # True
99是否大于100: False
24*5是否大于等于66: True
3.5是否等于3.5: True
34是否等于34.0: True
aa是否等于AA: False
aa是否不等于AA: True
False是否小于True: True
# 字符串比较大小
# 底层在比较大小的时候实际上就是去对比字符在ascii表里的大小.
print("b是否大于a: ", 'b' > "a") # True
# (1)与字符串长度无关
print("b是否大于ab: ", 'b' > "ab") # True
# (2)只与首字母有关, 首字母一样,才会比较后一位
print("bc是否大于ba: ", 'bc' > "ba") # True
# (3) 字母大小a-z依次增大, 小写是要大于大写的
print("Bc是否大于ba: ", 'Bc' > "ba") # True
# (4) 字符串中数字比字母小, 数字也是逐位比较
print("A是否大于999:" , 'A' > "999")
print("a09是否大于a1:" , 'a09' > "a1") # True
print("#是否大于!: ", '#' > "!") # True
b是否大于a: True
b是否大于ab: True
bc是否大于ba: True
Bc是否大于ba: False
A是否大于999: True
a09是否大于a1: False
#是否大于!: True
# is 判断两个值在内存中的地址是否相同, == 判断值是否相等
c = 0.00
a = 0.0
b = 0
print('是否==:', a == b)
print(id(a))
print(id(b))
print('是否地址相等:', a is b)
print(id(b) > id(a))
是否==: True
2170876320208
140706041139976
是否地址相等: False
True