逻辑运算符,返回结果:True 或者 False
and(与)、or(或)、not(非)
优先级:not>and>or
1.and(与):两边都为True才为真,否则为假
# and 的用法
test1 = True and True
test2 = True and False
test3 = False and False
print(test1)
print(test2)
print(test3)
运行结果:
True
False
False
2.or(或):有一个为真即为真,2个都为假才是假
# or 的用法
test1 = True or True
test2 = True or False
test3 = False or False
print(test1)
print(test2)
print(test3)
运行结果:
True
True
False
3.not(非):取反,真的反是假,假的反是真
# not 的用法
test1 = not True
test2 = not False
print(test1)
print(test2)
运行结果:
False
True
位运算符,,是对二进制进行的计算
&(与)、|(或)、~(非)、^(异或)、>>(右移)、<<(左移)
可以用内置函数:bin(变量名) 来输出二进制。
0b开头代表二进制。
# & 与的用法
a = 2&3
print(a)
运算结果
2
计算过程:
1.现将2和3分别化为二进制
2.计算规则:2个同为1才是1,不然则为0
0000 0010
0000 0011
&-----------------------
0000 0010------》十进制是2,所以最后答案是2
# | 或的用法
a = 2|3
print(a)
运行结果:
3
计算过程:
1.现将2和3分别化为二进制
2.计算规则:只要有一个1,就是1;2个都为0,才是0
0000 0010
0000 0011
|-----------------------
0000 0011-----》十进制是3,所以最后答案是3
# ~ 取反的用法
a = ~2
print(a)
运行结果:
-3
计算过程:
1.现将2化为二进制
2.计算规则:1的反是0, 0的反是1
0000 0010
~ -----------------------
1111 1101-----》这个是补码形式,左边第一个是符号位,1表示负数
将上面的补码化为原码(除符号位外,取反加一),即为:1000 0011,化为十进制是-3
异或类似,异或是:两个相同即为0,不同即为1
左移、右移是将二进制进行左移和右移……
二进制、八进制、十进制、十六进制
二进制:0b开头(零b)
bin()函数,将十进制转为二进制
八进制:0o开头(零o,字母o)
oct()函数,将十进制转为八进制
十进制:直接写数字,默认是10进制
int()函数,将其余进制转为十进制
十六进制:0x开头(零x)
hex()函数,将十进制转为十六进制