python有哪些运算符

239 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情

前言

每种语言都有运算符,大多数意义相似,但也有各自的差异。今天就来说说python的运算符。

python有哪些运算符

运算符是用来对数字进行数学运算,比如我们耳熟能详的加减乘除。在python中也支持这些运算符,按类型可分为:

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 赋值运算符
  • 位运算符

算术运算符

运算符中文释义举例结果
+1 + 12
-2 - 11
*2*36
/除法6 / 32
//整除9 / 24
%取余,即取除法的余数9 % 21
**幂运算/次方运算,即返回 x 的 y 次方2 ** 38

算术运算符较简单,不多做介绍。需要注意的是python的除法在python2和python3的差异。 在python2中除法是直接取整,而python3的除法才是我们数学运算的除法。

# python2
>>> 7 / 2
3
# python3
>>> 7 / 2
3.5

关系运算符

运算符描述举例
==等于(比较两者是否相等 )(a == b) 返回 False。
!=不等于 - 比较两者是否不相等(a != b) 返回 True。
<>不等于 - 比较两者是否不相等(python3 已废弃)(1 <> 2) 返回 True
>大于 (判断a是否大于b)(a > b) 返回 False
<小于 (判断a是否小于b)(a < b) 返回 True。
>=大于等于(判断a是否大于等于b)(a >= b) 返回 False。
<=小于等于(判断a是否大于等于b)(a <= b) 返回 True。

比较运算符在我们代码中也很常见,比如判断2个变量是否相等,某个数字是否小于预期的数字等。

逻辑运算符

运算符逻辑表达式描述实例
anda and b布尔"与" : 两边都为True才返回True,否则为False(10>2 and 20>2) 返回 True。
ora or b布尔"或" : 两边都为False才返回False,否则为True(10>2 or 20<2) 返回 True。
notnot a布尔"非" : 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not( 10 and 20) 返回 False

其实逻辑运算符可以用来操作任意类型的判断,执行结果不一定是bool类型。比如:

>>> 10 and 20
20

其实就是and在判断两边对象时,如果第一个真,就接着判断第二个。这里两边都为真,就返回第二个的值;若第一个为False(0也是False),那就直接返回False了。

>>> 0 and 10
0

赋值运算符

运算符描述实例
=简单的赋值运算符c = a + b 将 a + b 的运算结果赋值为 c
+=加法赋值运算符b += a 等效于 b = b + a
-=减法赋值运算符b -= a 等效于 b = b - a
*=乘法赋值运算符b *= a 等效于 b = b * a
/=除法赋值运算符b /= a 等效于 b = b / a
**=幂赋值运算符b **= a 等效于 b = b ** a
%=取模赋值运算符b %= a 等效于 b = b % a
//=取整除赋值运算符b //= a 等效于 b = b // a

赋值运算符其实就是一种简写的算术运算符,习惯了写法即可。

位运算符

位运算符就是将数字转为计算机的二进制来计算

运算符描述实例
&按位与运算符:若2个相应位都为1,则该位的结果为1,否则为0(a & b) 输出结果 12 ,二进制: 0000 1100
|按位或运算符:位只要有一个为1时,结果位就为1。(a | b) 输出结果 12 ,二进制: 0000 1100
按位异或运算符:位不同时,结果为1(a ^ b) 输出结果 12 ,二进制: 0000 1100
~按位取反运算符:对数据的每个二进制位取反。 ~x 类似于 -x-1(~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。
<<左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。a << 2 输出结果 12 ,二进制: 0000 1100
>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位, >> 右边的数字指定了移动的位数a >> 2 输出结果 12 ,二进制: 0000 1100

小结

本文总结了一下python中的运算符。虽说大部分都很简单,但是部分运算符需要清楚特性和注意点,比如除法在python2和python3的区别。