1、运算符
>>>3+5 8 >>>3-5 2 >>>2*3 6 >>>2**3 8 #幂 >>>4/2 2.0 #除 >>>4//2 2 #取整除 >>>8%3 2 #取模 >>>2<<2 8 #左移两比特: 0010(2) -> 1000(8) >>>11>>1 5 #右移一比特: 1011(11) -> 0101(5) >>>5&3 1 #按位与,101 # ---- # 001 ,相同位两个都为1时才为1 >>>5|3 7 #按位或,101 # ---- # 111 ,相同位只要有一个为1就为1 >>>5^3 6 #按位异或,101 # --- # 110 ,相同位不相同就为1,相同就为0 >>>~5 -6 #按位翻转,公式-(x+1) >>>5<3 False >>>5>3 True >>>5<=3 False >>>3==2 False >>>3!=2 True >>>not False True #布尔非,not 2 -> False >>>1 and 2 2 #布尔与,X and Y ,先计算X,如果X的值为False, #直接返回False不会计算Y,否则返回Y(短路计算) >>>1 or 2 1 #布尔或,X or Y ,先计算X,如果X的值为True, #直接返回True不会计算Y,否则返回Y(短路计算)
2、运算符优先级
运算符 | 描述 |
lambda | Lambda表达式 |
or | 布尔 或 |
and | 布尔 与 |
not x | 布尔 非 |
is,is not | 成员测试 |
<,<=,>,>=,!=,== | 比较 |
| | 按位 或 |
^ | 按位 异或 |
& | 按位 与 |
<<,>> | 移位 |
+,- | 加 减 |
*,/,% | 乘 除 取余 |
+X,-X | 正负号 |
~X | 按位翻转 |
** | 指数 |
x.attribute | 属性参考 |
X[index] | 下标 |
f(arguments) | 寻址段 |
(experession) | 绑定或元组显示 |
[experession] | 列表显示 |
{key:value} | 字典显示 |
'str' | 字符串转换 |