运算符
- 算术运算符
- 赋值运算符
- 比较运算符
- 布尔运算符
- 位运算符
布尔运算符
and
or
not
in
not in
AND
a,b=1,2
print('两个true才为true')
print(a == 1 and b == 2) #true&true == true
print(a == 1 and b != 2) #true&false == false
print(a != 1 and b == 2) #false&true == false
print(a != 1 and b != 2) #false&false == false
运行结果如下:
两个true才为true
True
False
False
False
OR
print('两个false才为false')
print(a == 1 or b == 2)
print(a == 1 or b != 2)
print(a != 1 or b == 2)
print(a != 1 or b != 2)
运行结果如下:
两个false才为false
True
True
True
False
NOT
print('not 对bool操作数取反')
B1=True
print(not B1)
运行结果如下:
not 对bool操作数取反
False
IN NOT IN
print('in not in在不在{}里')
S='hellooldguy'
print('k' in S)
print('h' in S)
print('h' not in S)
print('k' not in S)
运行结果如下:
in not in在不在{}里
False
True
False
True
位运算符
将数据转换为二进制后进行计算
位与&
位或|
左移运算符<<
右移运算符>>
与&或|
位运算:转换成二进制进行运算
&:均为1 则为1
|:若有1 则为1
'''
'''
0000100
0001000
'''
print(4&8)
print(4|8)
运行结果如下:
0
12
左移运算符<<右移运算符>>
'''
<<:左移位,高位溢出舍弃,低位补0 相当于乘以2的操作
4:
0000100 <<
0000100
0001000
'''
print(4<<1)#左移一位
'''
>>:右移位,高位补0,低位截断 相当于除以二的操作
'''
print(4>>2)#右移2位
运行结果如下:
8
1
运算符的优先级
有括号,则括号内优先级最高大于括号外
无括号:
算术运算符(先算幂函数,再乘除,最后加减)>位运算符>比较运算符>bool运算符>赋值运算符
**
* / // %
+ -
<< >> & |
> < >= <= == !=
and or
=