Python 运算符

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

print(10 + 5)

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

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

算术运算符

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

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

赋值运算符

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

运算符 示例 等同于
= x = 5 x = 5
+= x += 3 x = x + 3
-= x -= 3 x = x - 3
*= x *= 3 x = x * 3
/= x /= 3 x = x / 3
%= x %= 3 x = x % 3
//= x //= 3 x = x // 3
**= x **= 3 x = x ** 3
&= x &= 3 x = x & 3
= x
^= x ^= 3 x = x ^ 3
>>= x >>= 3 x = x >> 3
<<= x <<= 3 x = 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 如果指定值在对象中,则返回 True x in y
not in 如果指定值不在对象中,则返回 True x not in y

位运算符

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

运算符 名称 描述 示例
& 如果两个位都是1,则将每个位设置为1 x & y
如果两个位中的一个位为1,则将每个位设置为1
^ 异或 如果两个位中的一个位为1,则将每个位设置为1 x ^ 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腾讯开发者社区阿里开发者社区

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

热门相关:总裁的天价小妻子   年轻的招待女和三岛   嫡嫁千金   一等狂妃:邪王,请接招!   一等狂妃:邪王,请接招!