python的运算符

基本运算符

运算符 说明 示例 结果
+ 加法 6+6 12
- 减法 6-6 0
* 乘法 6*6 36
/ 浮点数除法 8/2 4.0
// 整数除法 7//2 3
% 模(取余) 7%4 3
** 2**3 8

使用 divmod()函数同时得到商和余数

1
2
>>> divmod(13,3)
(4, 1)

增强型赋值运算符

运算符 例子 说明
+= 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,位运算和算术运算>比较运算符>赋值运算符>逻辑运算符

zyh wechat
扫一扫关注微信公众号
你可以打赏我哦!