在Python中可以将运算符定义为负责两个操作数之间的特定操作的符号。
运算符是程序运行的核心。Python提供了如下所述的各种运算符。
-
算术运算符
-
比较运算符
-
赋值运算符
-
逻辑运算符
-
位运算符
-
成员运算符
-
身份运算符
-
运算符优先级
算术运算符
算术运算符用于在两个操作数之间执行算术运算。它包括+(加法), - (减法),*(乘法),/(除法),%(取余),//(向下取整)和指数(**)。
请通过下表学习算术运算符的详细内容:
运算符 | 描述 |
示例 |
+(加法) |
它用于两个操作数相加 |
例如:如果a = 20,b = 10 => a +
b = 30 |
- (减法) |
它用于从第一个操作数中减去第二个操作数。如果第一个操作数小于第二个操作数,则结果为负值 |
例如:如果a = 20,则b = 10 =>
a?b = 10 |
/(除) |
它在将第一个操作数除以第二个操作数后返回商 |
例如:如果a = 20,则b = 10 => a / b = 2 |
*(乘法) |
它用于将一个操作数与另一个操作数相乘 |
例如:如果a = 20,则b = 10 => a * b = 200 |
%(取余) |
它在将第一个操作数除以第二个操作数后返回余数 |
例如:如果a = 20,则b = 10 => a%b = 0 |
**(指数) |
它是一个指数运算符,表示为计算第二个操作数量的的第一个操作数相乘 |
例如:10**20 为10的20次方, 输出结果 100000000000000000000 |
//(向下取整) |
它给出了通过两个操作数产生的商并进行向下取整 |
例如:9//2=4 |
比较运算符
比较运算符用于比较两个操作数的值,并相应地返回布尔值true或false。比较运算符如下表所述:示例中a=1,b=2
运算符 | 描述 | 示例 |
== |
如果两个操作数的值相等,则条件变为真 |
(a == b) 返回 False |
!= |
如果两个操作数的值不相等,则条件变为真 |
(a != b)返回true |
<= |
如果第一个操作数小于或等于第二个操作数,则条件变为真,这个运算符类似 != | (a <= b) 返回 true |
> = |
如果第一个操作数大于或等于第二个操作数,则条件变为真 |
(a >= b)返回false |
<> |
如果两个操作数的值不相等,则条件变为真 |
(a <> b)返回 true |
> |
如果第一个操作数大于第二个操作数,则条件变为真 |
(a > b)返回flase |
< |
如果第一个操作数小于第二个操作数,则条件为真 |
(a < b)返回true |
Python赋值运算符
赋值运算符用于将右表达式的值赋给左操作数。赋值运算符如下表所述。
运算符 | 描述 | 实例 |
= |
它将右表达式的值赋给左操作数 |
c=a+b,将a+b的值赋值给c |
+ = |
它通过右操作数的值增加左操作数的值,并将修改后的值赋给左操作数 |
例如,如果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将4 ** 2 = 16分配给a |
//= |
取整除赋值运算符,A // =
b将等于a = a // b |
例如,如果a = 4,b = 3,则a // = b将4 // 3 = 1分配给a |
按位运算符
按位运算符对两个操作数的值执行逐位操作。
例如,
if a = 7; b = 6; then, binary (a) = 0111 binary (b) = 0011 hence, a & b = 0011 a | b = 0111 a ^ b = 0100 ~ a = 1000
运算符 | 描述 | 实例 |
&(二进制和) |
如果两个操作数中相同位置的两个位都是1,则将1复制到结果中。否则,复制0。 |
(a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| (二进制或) |
如果两个位都为零,则结果位为0,否则结果位为1。 |
(a | b) 输出结果 61 ,二进制解释: 0011 1101 |
^(二进制xor) |
如果两个位都不同,则结果位将为1,否则结果位将为0。 |
(a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
〜(否定) |
它计算操作数的每个位的否定,即,如果该位为0,则结果位为1,反之亦然。 |
(~a ) 输出结果 -61 ,二进制解释: 1100
0011,在一个有符号二进制数的补码形式。 |
<<(左移) |
左操作数值向左移动右操作数中的位数。 |
a << 2 输出结果 240 ,二进制解释: 1111 0000 |
>>(右移) | 左操作数向右移动右操作数中的位数。 |
a >> 2 输出结果 15 ,二进制解释: 0000 1111 |
逻辑运算符
逻辑运算符主要用于表达式求值以做出决策。Python支持以下逻辑运算符,以下假设变量 a 为 10, b为 20:
运算符 | 描述 | 实例 |
and |
如果表达式都为真,则条件为真。如果a和b是两个表达式,则a→true,b→true => a和b→true |
(a and b) 返回 20 |
not |
如果其中一个表达式为真,则条件为真。如果a和b是两个表达式,则a→true,b→false => a或b→true |
(a or b) 返回 10 |
or |
如果表达式a为真,则不是(a)将为假,反之亦然 |
not(a and b) 返回 False |
成员运算符
Python成员资格运算符用于检查数据结构中的值的成员资格。如果该值存在于数据结构中,则结果值为true,否则返回false。
运算符 | 描述 | 实例 |
in |
如果在第二个操作数(列表,元组或字典)中找到第一个操作数,则将其评估为true。 |
x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
Not in |
如果在第二个操作数(列表,元组或字典)中找不到第一个操作数,则将其评估为true。 |
x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
身份运算符
运算符 | 描述 | 实例 |
is |
如果两侧存在的参数指向同一对象,则返回为真 |
x is y, 类似 id(x) == id(y) ,
如果引用的是同一个对象则返回 True,否则返回 False |
not is |
如果两侧存在的参数不指向同一对象,则返回为真。 |
x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回
False。 |
运算符优先级
运算符的优先级很重要,因为它使我们能够知道应该首先执行哪个运算符。python中运算符的优先级表如下。
运算符 | 描述 |
** |
指数运算符优先于表达式中使用的所有其他运算符。 |
〜+ - |
否定,一元加减。 |
* /%// |
乘法,除法,模块,提醒和楼层划分。 |
+ - |
二进制加减 |
>> << |
左移和右移 |
& |
二进制和。 |
^ | |
二元xor和or |
<= <>> = |
比较运算符(小于,小于等于,大于,大于等于)。 |
<> ==!= |
比较运算符 |
=%= / = // = - =
+ = |
等于运算符 |
* = ** = |
赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |