1.逻辑运算符
and:找到第一个为假,或者最后一个为真
or:找到第一个为真,或者最后一个为假的
not:取布尔值的反
短路运算:对于包含and、not、or的表达,从左到右运算。
利用短路运算逻辑:若or左侧的逻辑值为true,
则短路or后的所有的表达式(不管是and或者是or)
>>> a = 3
>>> b = 4
>>> c = a>b and a or b
>>> c
4
>>> a = 5
>>> c = a>b and a or b
>>> c
5
>>>
2. 成员关系运算符
in
not in
>>> a = [1,2,3,5]
>>> 2 in a
True
>>> 100 not in a
True
>>> 44 in a
False
>>>
3. 对象实例测试运算符
使用is,not is 判断两个变量是否指向同一个对象
>>> a = b =5
>>> id(a)
140502674196512
>>> id(b)
140502674196512
>>> a is b
True
4. 位运算符
(1)&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位结果为1,否则为0
(2)|按位或运算符:只要对应的两个二进位有一个为1时,结果位就为1
(3)^按位异或运算符:当两对对应的二进位相异的时候结果为1
(4)~按位取反运算符:对数据的每个二进制位取反,即把1变成0,把0变成1。-x类似于-x-1
(5)<<左移动运算符:运算符的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,地位补0
(6)>>右移动运算符:把“>>”左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
>>> a = 3
>>> b = 2
>>> a & b
2
>>> a = 3
>>> b = 5
>>> a & b
1
>>> bin(a)
'0b11'
>>> bin(b)
'0b101'
>>> a = 5
>>> b = 5
>>> a|b
5
>>> a = 3
>>> b = 5
>>> a^b
6
>>> a="123456487"
>>> a[1]
'2'
>>> a[0]
'1'
>>> a[-2]
'8'
>>> a = 5
>>> ~a
-6
>>> a = 5
>>> a<<2
20
>>> bin(20)
'0b10100'
>>> a<<3
40
>>> bin(40)
'0b101000'
>>> a>>2
1
>>> a>>3
0
>>>