运算符
and运算
a and b a,b都为真才为真

or运算
a and b a,b其中一个为真就是真。

not运算
in
not in
a=[1,2,3]
if 3 not in a :print("zhazha")

a=4
b=3
if not a>b: #条件是真不输出,条件是假就输出
print("bbb")

is #判断标识符是不是引用自同一个对象
is not #判断标识符是不是引用自不同同对象
a=[1,2,3]
if type(a) is list:
print(111)

8bit=byte(字节)
1024byte=1kbyte
1024kbyte=1mbyte
1024mb=1gb
1024gb=1tb

and(&)
c=60&13 #双方相同的部分相加
128 64 32 16 8 4 2 1
0 0 1 1 1 1 0 0 =60
0 0 0 0 1 1 0 1 =13
答 0 0 0 0 1 1 0 0=12

or
c=60|1 # 双方相同的和不同的相加
128 64 32 16 8 4 2 1
0 0 1 1 1 1 0 0 =60
0 0 0 0 1 1 0 1 =13
答 0 0 1 1 1 1 0 1=61

c=60^13(按位异或运算)# 双方不同部分相加
128 64 32 16 8 4 2 1
0 0 1 1 1 1 0 0 =60
0 0 0 0 1 1 0 1 =13
答 0 0 1 1 0 0 0 1=49

c=60~13(按位取反运算) #把互相的1变成0,,0变成1得到的结果相减
128 64 32 16 8 4 2 1
0 0 1 1 1 1 0 0 =60
1 1 0 0 0 0 1 1=195

0 0 0 0 1 1 0 1 =13
1 1 1 1 0 0 1 0=256
答 -61

左移,右移
《 》
128 64 32 16 8 4 2 1
64 32《
c=64<<1 # c=128 # 位置往左移
c1=64>>1 # c=32 # 位置往右移
print(c)
print(c1)

三元运算
a,b,c=1,3,5
d=a if a>b else c #如果a>b,结果就是a,否则就位c

'''

运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)

  • / % // 乘,除,取模和取整除
    • 加法减法

      << 右移,左移运算符
      & 位 'AND'
      ^ | 位运算符
      <= < > >= 比较运算符
      <> == != 等于运算符
      = %= /= //= -= += *= **= 赋值运算符
      is is not 身份运算符
      in not in 成员运算符
      not and or 逻辑运算符