Python运算符


在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逻辑运算符