运算符用于对变量和值执行操作。在下面的示例中,我们使用 + 运算符将两个值相加:

print(10 + 5)

Python 将运算符分为以下几组:

  • 算术运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 身份运算符
  • 成员运算符
  • 位运算符

算术运算符

算术运算符用于对数字值执行常见的数学运算:

运算符名称示例
+加法x + y
减法x – y
*乘法x * y
/除法x / y
%取模x % y
**x ** y
//地板除x // y

赋值运算符

赋值运算符用于将值赋给变量:

运算符示例等同于
=x = 5x = 5
+=x += 3x = x + 3
-=x -= 3x = x – 3
*=x *= 3x = x * 3
/=x /= 3x = x / 3
%=x %= 3x = x % 3
//=x //= 3x = x // 3
**=x **= 3x = x ** 3
&=x &= 3x = x & 3
=x
^=x ^= 3x = x ^ 3
>>=x >>= 3x = x >> 3
<<=x <<= 3x = x << 3

比较运算符

比较运算符用于比较两个值:

运算符名称示例
==等于x == y
!=不等于x != y
>大于x > y
<小于x < y
>=大于等于x >= y
<=小于等于x <= y

逻辑运算符

逻辑运算符用于组合条件语句:

运算符描述示例
and如果两个语句都为真x < 5 and x < 10
or如果其中一个语句为真x < 5 or x < 4
not反转结果,如果结果为真not(x < 5 and x < 10)

身份运算符

身份运算符用于比较对象,不是比较它们是否相等,而是比较它们是否实际上是同一个对象,具有相同的内存位置:

运算符描述示例
is如果两个变量是同一个对象x is y
is not如果两个变量不是同一个对象x is not y

成员运算符

成员运算符用于测试一个序列是否出现在一个对象中:

运算符描述示例
in如果指定值在对象中,则返回 Truex in y
not in如果指定值不在对象中,则返回 Truex not in y

位运算符

位运算符用于比较(二进制)数字:

运算符名称描述示例
&如果两个位都是1,则将每个位设置为1x & y
如果两个位中的一个位为1,则将每个位设置为1
^异或如果两个位中的一个位为1,则将每个位设置为1x ^ y
~反转所有位~x
<<左移通过从右侧推入零并让最左侧的位掉落,将左移x << 2
>>有符号右移通过从左侧推入最左侧位的副本并让最右侧的位掉落,将右移x >> 2

运算符优先级

运算符优先级描述了操作执行的顺序。

示例,括号具有最高优先级,意味着必须首先评估括号内的表达式:

print((6 + 3) - (6 + 3))

示例,乘法 * 的优先级高于加法 +,因此在执行加法之前会执行乘法:

print(100 + 5 * 3)

优先级顺序在下表中描述,从最高优先级开始:

运算符描述
()括号
**指数
+x -x ~x一元加法、一元减法和按位取反
* / // %乘法、除法、地板除法和取模
+ –加法和减法
<>按位左移和右移
&按位与
^按位异或
== != > >= < <= is is not in not in比较、身份和成员运算符
not逻辑 NOT
and逻辑 AND
or逻辑 OR

如果两个运算符具有相同的优先级,表达式将从左到右进行评估。

示例,加法 + 和减法 – 具有相同的优先级,因此我们从左到右评估表达式:

print(5 + 4 - 7 + 3)

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:

公众号搜索Let us Coding知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区

看完如果觉得有帮助,欢迎点赞、收藏关注