基本运算符
运算符 | 说明 | 示例 | 结果 |
---|---|---|---|
+ | 加法 | 6+6 | 12 |
- | 减法 | 6-6 | 0 |
* | 乘法 | 6*6 | 36 |
/ | 浮点数除法 | 8/2 | 4.0 |
// | 整数除法 | 7//2 | 3 |
% | 模(取余) | 7%4 | 3 |
** | 幂 | 2**3 | 8 |
使用 divmod()函数同时得到商和余数
1 | 13,3) divmod( |
增强型赋值运算符
运算符 | 例子 | 说明 |
---|---|---|
+= | a += 2 | a = a+2 |
-= | a -= 2 | a = a-2 |
*= | a *= 2 | a = a*2 |
/= | a /= 2 | a = a /2 |
//= | a //= 2 | a = a//2 |
**= | a **= 2 | a = a**2 |
%= | a %= 2 | a = a%2 |
注意:“+=”中间不能加空格!
比较运算符
所有比较运算符返回 1 表示真,返回 0 表示假。这分别与特殊的变量 True 和 False 等价。
以下假设变量 a 为 15,变量 b 为 30
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象的值是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象的值是否不相等 | (a != b) 返回 true。 |
> | 大于 - 返回 x 是否大于 y | (a > b) 返回 False。 |
< | 小于 - 返回 x 是否小于 y | (a < b) 返回 true。 |
>= | 大于等于 - 返回 x 是否大于等于 y | (a >= b) 返回 False。 |
<= | 小于等于 - 返回 x 是否小于等于 y。 | (a <= b) 返回 true。 |
逻辑运算符
运算符 | 格式 | 说明 |
---|---|---|
or 逻辑或 | x or y | x 为 true,则不计算 y,直接返回 true 。x 为 false,则返回 y |
and 逻辑与 | x and y | x 为 true,则返回 y 的值。x 为 false,则不计算 y,直接返回 false |
not 逻辑非 | not x | x 为 true,返回 false。x 为 false,返回 true |
同一运算符
运算符 | 说明 |
---|---|
is | is 是判断两个标识符是不是引用同一个对象 |
is not | is not 是判断两个标识符是不是引用不同对象 |
同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址。
is 与 == 区别:
1,is 用于判断两个变量引用对象是否为同一个,既比较对象的地址。
2,== 用于判断引用变量引用对象的值是否相等,默认调用对象的 eq()方法。
位运算符
运算符 | 描述 | 实例 | ||
---|---|---|---|---|
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 | ||
\ | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 | (a \ | b) 输出结果 61 | |
^ |
按位异或运算符:当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果 49 |
||
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1 | (~a ) 输出结果 -61 | ||
<< | 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。 | a << 2 输出结果 240 | ||
>> | 右移动运算符:把”>>”左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数 | a >> 2 输出结果 15 |
左移 1 位相当于乘以 2. 左移 2 位,相当于乘以 4
右移 1 位相当于除以 2. 右移 2 位,相当于除以 4
运算符优先级问题
以下表格列出了从最高到最低优先级的所有运算符:
运算符 | 描述 | |
---|---|---|
** | 指数 (最高优先级) | |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) | |
* / % // | 乘,除,取模和取整除 | |
+ - | 加法减法 | |
>> << | 右移,左移运算符 | |
& | 位 ‘AND’ | |
^ \ | 位运算符 | |
<= < > >= | 比较运算符 | |
<> == != | 等于运算符 | |
= %= /= //= -= += *= **= | 赋值运算符 | |
is is not | 身份运算符 | |
in not in | 成员运算符 | |
not and or | 逻辑运算符 |
1,乘除优先加减
2,位运算和算术运算>比较运算符>赋值运算符>逻辑运算符