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

Relative Article

数据类型、处理和操作
变量、字面量的比较和判断