运算符 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 逻辑运算符