Python 基本运算符


运算符是可以操纵操作数的值的构造。

考虑表达式 4 + 5 = 9。这里,4 和 5 称为操作数,+ 称为运算符。

运算符类型


Python 语言支持以下类型的运算符。

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 会员运营商
  • 身份运算符

让我们一一了解所有运算符。

Python算术运算符


假设变量 a 为 10,变量 b 为 20,则:

[ 显示示例 ]

Operator 描述 例子
+ 加法 在运算符的任一侧添加值。 a + b = 30
- 减法 从左手操作数中减去右手操作数。 a – b = -10
* 乘法 将运算符两边的值相乘 a * b = 200
/ 分配 将左手操作数除以右手操作数 b / a = 2
% 模量 将左手操作数除以右手操作数并返回余数 b % a = 0
** 指数 对算子执行指数(幂)计算 a**b =10 的 20 次方
// Floor Division - 操作数的除法,其结果是除去小数点后的数字的商。但如果其中一个操作数为负数,则结果为下限,即从零四舍五入(向负无穷大): 9//2 = 4 和 9.0//2.0 = 4.0,-11//3 = -4,-11.0//3 = -4.0

Python 比较运算符


这些运算符比较它们两侧的值并确定它们之间的关系。它们也称为关系运算符。

假设变量 a 为 10,变量 b 为 20,则:

[ 显示示例 ]

Operator 描述 例子
== 如果两个操作数的值相等,则条件成立。 (a == b) 不正确。
!= 如果两个操作数的值不相等,则条件为真。 (a != b) 是真的。
<> 如果两个操作数的值不相等,则条件为真。 (a <> b) 是真的。这类似于 != 运算符。
> 如果左操作数的值大于右操作数的值,则条件为真。 (a > b) 不正确。
< 如果左操作数的值小于右操作数的值,则条件为真。 (a < b) 为真。
>= 如果左操作数的值大于或等于右操作数的值,则条件为真。 (a >= b) 不正确。
<= 如果左操作数的值小于或等于右操作数的值,则条件为真。 (a <= b) 是真的。

Python 赋值运算符


假设变量 a 为 10,变量 b 为 20,则:

[ 显示示例 ]

Operator 描述 例子
= 将右侧操作数的值分配给左侧操作数 c = a + b 将 a + b 的值赋给 c
+= 添加 AND 它将右操作数添加到左操作数并将结果分配给左操作数 c += a 等价于 c = c + a
-= 减和 它从左操作数中减去右操作数并将结果分配给左操作数 c -= a 等价于 c = c - a
*= 乘与 它将右操作数与左操作数相乘并将结果分配给左操作数 c *= a 等价于 c = c * a
/= 除以 AND 它将左操作数与右操作数相除并将结果分配给左操作数 c /= a 等价于 c = c / a
%= 模数与 它使用两个操作数取模并将结果分配给左操作数 c %= a 等价于 c = c % a
**= 指数与 对运算符执行指数(幂)计算并将值分配给左操作数 c **= a 等价于 c = c ** a
//= 楼层划分 它对运算符执行地板除法并将值分配给左操作数 c //= a 等价于 c = c // a

Python 位运算符


位运算符对位起作用并执行逐位运算。假设 a = 60;和 b = 13;现在在二进制格式中,它们的值将分别为 0011 1100 和 0000 1101。下表列出了 Python 语言支持的位运算符,并分别举例说明,我们使用上述两个变量(a 和 b)作为操作数:

一个 = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a = 1100 0011

Python 语言支持以下按位运算符

[ 显示示例 ]

Operator 描述 例子
& 二进制与 如果两个操作数中都存在,则运算符将位复制到结果中 (a & b) (表示 0000 1100)
|二进制或 如果它存在于任一操作数中,它会复制一点。 (a | b) = 61(表示 0011 1101)
^ 二进制异或 如果它在一个操作数中设置,它会复制该位,但不是在两个操作数中都设置。 (a ^ b) = 49(表示 0011 0001)
~ 二进制补码 它是一元的,具有“翻转”位的效果。 (~a ) = -61 (由于有符号二进制数,表示 1100 0011 为 2 的补码形式。
<< 二进制左移 左操作数的值向左移动右操作数指定的位数。 a << 2 = 240(表示 1111 0000)
>> 二进制右移 左操作数的值向右移动右操作数指定的位数。 a >> 2 = 15(表示 0000 1111)

Python 逻辑运算符


Python 语言支持以下逻辑运算符。假设变量 a 保持 10 并且变量 b 保持 20 然后

[ 显示示例 ]

Operator 描述 例子
和逻辑与 如果两个操作数都为真,则条件为真。 (a 和 b) 是正确的。
或逻辑或 如果两个操作数中的任何一个不为零,则条件为真。 (a 或 b) 为真。
非逻辑非 用于反转其操作数的逻辑状态。 Not(a and b) 是假的。

Python 成员运算符


Python 的成员资格运算符测试序列中的成员资格,例如字符串、列表或元组。有两种会员运营商,解释如下:

[ 显示示例 ]

Operator 描述 例子
in 如果找到指定序列中的变量,则评估为 true,否则评估为 false。 x in y,如果 x 是序列 y 的成员,则结果为 1。
not in 如果在指定序列中未找到变量,则评估为 true,否则评估为 false。 x 不在 y 中,如果 x 不是序列 y 的成员,则这里 not in 结果为 1。

Python 身份运算符


恒等运算符比较两个对象的内存位置。下面解释了两个 Identity 运算符:

[ 显示示例 ]

Operator 描述 例子
is 如果运算符两侧的变量指向同一对象,则计算结果为 true,否则计算结果为 false。 x 是 y,这里 is 如果 id(x) 等于 id(y),则结果为 1。
is not 如果运算符两侧的变量指向同一对象,则计算结果为 false,否则计算结果为 true。 x 不是 y,这里 is not 如果 id(x) 不等于 id(y),则结果为 1。

Python 运算符优先级


下表列出了从最高优先级到最低优先级的所有运算符。

[ 显示示例 ]

序号. 运营商和描述
1

**

求幂(乘幂)

2

~ + -

补码,一元加减(最后两个的方法名是 +@ 和 -@)

3

* / % //

乘法、除法、模数和底除法

4

+ -

加减

5

>> <<

左右位移

6

&

按位“与”

7

^ |

按位异或“或”和常规“或”

8

<= < > >=

比较运算符

9

<> == !=

等式运算符

10

= %= /= //= -= += *= **=

赋值运算符

11

不是

身份运算符

12

在 不在

会员运营商

13

不是或和

逻辑运算符