Python 运算符

运算符可以定义为负责两个操作数之间特定操作的符号。运算符是一个程序的支柱,在这个程序上,逻辑是用特定的编程语言构建的。Python 提供了多种运算符,描述如下。

  • 算术运算符

  • 比较运算符

  • 赋值运算符

  • 逻辑运算符

  • 按位运算符

  • 成员操作符

  • 身份操作符

算术运算符

算术运算符用于在两个操作数之间执行算术运算。它包括 +(加法)、-(减法)、*(乘法)、/(除法)、%(按模取余)、//(地板除法) 和指数 (**) 运算符。

有关算术运算符的详细解释,请参考下表。

运算符描述
+ 它用于相加两个操作数。例如,如果 a = 20,b = 10 => a+b = 30
- 它用于从第一个操作数中减去第二个操作数。如果第一个操作数小于第二个操作数,则该值为负。例如,如果 a = 20,b = 10 => a - b = 10
/ 它返回第一个操作数除以第二个操作数后的商。例如,如果 a = 20,b = 10 => a/b = 2.0
* 它用于将一个操作数与另一个操作数相乘。例如,如果 a = 20,b = 10 => a * b = 200
% 它在第一个操作数除以第二个操作数后返回提醒。例如,如果 a = 20,b = 10 => a% b = 0
** 它是一个指数运算符,表示为计算第一个操作数与第二个操作数的幂。
// 它给出了两个操作数相除所产生的商的底数。

比较运算符

比较运算符用于比较两个操作数的值,并相应地返回布尔值 true 或 false。下表描述了比较运算符。

运算符描述
== 如果两个操作数的值相等,则条件为真。
!= 如果两个操作数的值不相等,则条件为真。
<= 如果第一个操作数小于或等于第二个操作数,则条件为真。
>= 如果第一个操作数大于或等于第二个操作数,则条件为真。
> 如果第一个操作数大于第二个操作数,则条件为真。
< 如果第一个操作数小于第二个操作数,则条件为真。

赋值运算符

赋值运算符用于将右表达式的值赋给左操作数。下表描述了赋值运算符。

运算符描述
= 它将右表达式的值赋给左操作数。
+= 它将左操作数的值增加右操作数的值,并将修改后的值分配回左操作数。例如,如果 a = 10,b = 20 => a+ = b 将等于 a = a+ b,因此 a = 30。
-= 它将左操作数的值减少右操作数的值,并将修改后的值分配回左操作数。例如,如果 a = 20,b = 10 => a- = b 将等于 a = a- b,因此 a = 10。
*= 它将左操作数的值乘以右操作数的值,并将修改后的值赋回左操作数。例如,如果 a = 10,b = 20 => a* = b 将等于 a = a* b,因此 a = 200。
%= 它将左操作数的值除以右操作数的值,并将提醒分配回左操作数。例如,如果 a = 20,b = 10 => a % = b 将等于 a = a % b,因此 a = 0。
**=a**=b 将等于 a=a**b,例如,如果 a = 4,b =2,a**=b 将为 a 分配 4**2 = 16。
//=a/= b 将等于 a = a//b,例如,如果 a = 4,b = 3,a/= b 将为 a 分配 4//3 = 1。

按位运算符

按位运算符对两个操作数的值执行逐位运算。考虑下面的例子。

例如

py

if a = 7
b = 6
then, binary (a) = 0111
binary (b) = 0110

hence, a & b = 0011
a | b = 0111
a ^ b = 0100
~ a = 1000

运算符描述
&(二进制和) 如果两个操作数中同一位置的两位都是 1,则 1 被复制到结果中。否则,将复制 0。
| (二进制或) 如果两个位都为零,则结果位将为 0;否则,结果位将为 1。
^(二进制异或) 如果两个位不同,则结果位将为 1;否则,结果位将为 0。
~(否定) 它计算操作数每个位的求反,即如果该位为 0,则结果位为 1,反之亦然。
<<(左移) 左操作数值向左移动右操作数中的位数。
>>(右移) 左操作数向右移动右操作数中的位数。

逻辑运算符

逻辑运算符主要用于表达式求值以做出决策。Python 支持以下逻辑运算符。

运算符描述
and 如果两个表达式都为真,则条件为真。如果 a 和 b 是两个表达式,a →真,b →真 => a 和 b →真。
or 如果其中一个表达式为真,则条件为真。如果 a 和 b 是两个表达式,a →真,b →假 => a 或 b →真。
not 如果表达式 a 为真,那么 not (a) 将为假,反之亦然。

成员操作符

Python 成员操作符用于检查 Python 数据结构中值的成员关系。如果数据结构中存在该值,则结果值为真,否则返回假。

运算符描述
in 如果在第二个操作数 (列表、元组或字典) 中找到第一个操作数,则评估为真。
not in 如果在第二个操作数 (列表、元组或字典) 中找不到第一个操作数,则评估为真。

身份操作符

标识运算符用于决定元素是某个类还是某个类型。

运算符描述
is 如果两侧的引用指向同一个对象,则评估为真。
is not 如果两侧的引用不指向同一个对象,则评估为真。

运算符优先级

运算符的优先级对于找出答案是至关重要的,因为它使我们能够知道应该首先评估哪个运算符。下面给出了 Python 中运算符的优先级表。

运算符描述
** 指数运算符的优先级高于表达式中使用的所有其他运算符。
~ + - 否定,一元正和负。
* / % // 乘法、除法、模块、提醒和楼层划分。
+ - 二进制加减
>> << 左移。右移
& 二进制和。
^| 二进制异或,与或
<= < > >= 比较运算符 (小于、小于等于、大于、大于等于)。
<> == != 等式运算符。
= %= /= //= -= +=
*= **= 赋值运算符
is is not 身份运算符
n not in 成员操作符
not or and 逻辑运算符

原文:https://www.javatpoint.com/python-operators