python基础知识(三):比较运算符、布尔运算符和位运算

1. 比较运算符

比较运算符通常为以下6种:
(1) 大于">“,比较两个数a、b的大小,比较的结果如果a大于b则为True,否则为False;
(2) 大于等于”>=“,比较两个数a、b的大小,比较的结果如果a大于等于b则为True,否则为False;
(3) 小于”<“,比较两个数的大小,比较的结果如果a小于b则为True,否则为False;
(4) 小于等于”<=“,比较两个数的大小,比较的结果如果a小于等于b则为True,否则为False;
(5) 等于”==“,比较两个数是否相等,比较的结果如果a等于b则为True,否则为False;
(6) 不等于”!=",比较两个数是否不相等,比较的结果如果a不等于b则为True,否则为False。

# 比较运算符
print('*' * 50)
a, b = 10, 20
print('a>b', a > b)  # 大于
print('a<b', a < b)  # 小于
print('a<=b', a <= b)  # 小于等于
print('a>=b', a >= b)  # 大于等于
print('a==b', a == b)  # 等于
print('a!=b', a != b)  # 不等于

在这里插入图片描述

2. 布尔运算符

python中非0数的布尔值为True,0的布尔值为False。
布尔运算符包括与、或、非
(1) 与"and",a和b同为True时。a and b的值才为True,其余为False;
(2) 或"or",a和b同为False时。a or b的值才为False,其余为True;
(3) 非"not",a为True时,not a的值为False,a为False时,not a的值为True。

print('*' * 50)
a, b = 10, 20
print(a == 10 and b == 20)  # 逻辑与
print(a == 10 and b < 20)  # 逻辑与
print(a != 10 and b == 20)  # 逻辑与
print(a != 10 and b != 20)  # 逻辑与

在这里插入图片描述

print('*' * 50)
a, b = 10, 20
print(a == 10 or b == 20)  # 逻辑或
print(a == 10 or b < 20)  # 逻辑或
print(a != 10 or b == 20)  # 逻辑或
print(a != 10 or b != 20)  # 逻辑或

在这里插入图片描述

print('*' * 50)
a, b = 10, 0
print(not a)  # 逻辑非
print(not b)  # 逻辑非

在这里插入图片描述

3. 位运算

(1) 按位与"&"
a&b是将a,b两个数转换为二进制数,然后按右对齐位置,一个一个做与运算。例如,4&8,首先将4和8转换成二进制数0100和1000,然后右对齐,进行逐个与运算,得到0000,所以4&8的结果为0。

print('*' * 50)
# 按位与 & 同为1时结果为1
a = 4
b = 8
c = a & b  # 0b0100 & 0b1000 = 0b0000
print(c)

在这里插入图片描述
(2) 按位或"|"
a|b是将a,b两个数转换为二进制数,然后按右对齐位置,一个一个做或运算。例如,4|8,首先将4和8转换成二进制数0100和1000,然后右对齐,进行逐个或运算,得到1100,所以4&8的结果为12。

print('*' * 50)
# 按位或 | 同为0时结果为0
a = 4
b = 8
c = a | b  # 0b0100 | 0b1000 = 0b1100
print(c)

在这里插入图片描述
(3) 左移位运算"<<"
将数转换成二进制数然后向左移动,末尾补零,若左移动一位相当于乘以2,
例如4<<1,首先将4转换成0100,然后向左移动一位,然后末尾补零就是1000,结果为8,相当于乘以2,依次类推,4<<n,相当于4*2的n次幂。

print('*' * 50)
# << 左移位
a = 4
c = a << 1  # 0b0100 << 1 = 0b1000
print(c)

在这里插入图片描述
(4) 右移位运算">>"
将数转换成二进制数然后向右移动,最左端补零,若右移动一位相当于除以2,
例如4>>1,首先将4转换成0100,然后向右移动一位,然后最左端补零就是0010,结果为2,相当于除以2,依次类推,4>>n,相当于4/2的n次幂,如果结果小于1则为0。

print('*' * 50)
# >> 右移位
a = 4
c = a >> 1  # 0b0100 >> 1 = 0b0010
print(c)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_47598782/article/details/130935544