一、算术运算符:

 +运算符除了用于算术加法以外,还可用于列表、元组、字符串的连接。

例:

>>> (3+4j)+(5+6j) #复数相加
(8+10j)
>>> [1,2,3]+[4,5,6]  #连接两个列表
[1, 2, 3, 4, 5, 6]>>> (1,2,3)+(4,)#连接两个元组
(1, 2, 3, 4)>>> 'hello'+'1234' #连接两个字符串
'hello1234'

*运算符除了表示算术乘法,还可用于列表、元组、字符串与整数的乘法,表示序列元素的重复。

>>> 5*(3+4j) #实数与复数的乘法
(15+20j)
>>> [1,2,3]*3 #列表元素重复
[1, 2, 3, 1, 2, 3, 1, 2, 3]>>> (1,2,3)*3 #元组元素重复
(1, 2, 3, 1, 2, 3, 1, 2, 3)>>> "abc"*3 #字符串元素重复
'abcabcabc'>>> [1,2,3]*0  #返回空列表
[]

/和//运算符表示除法和地板除法(算术求整商)

/

两个数相除,结果为浮点数(小数)

//

两个数相除,结果为向下取整的整数

 

 

 

>>> 2/4
0.5
>>> 2//4
0
>>>

%用于整数或实数的求余运算

**运算符表示求幂,等价于pow()函数

%

取模,返回两个数相除的余数

**

幂运算,返回乘方结果

 

 

 

>>> 5%2
13**2 等价于 pow(3,2)

二、比较运算符:

 比较运算符用于比较两个表达式的大小,其结果是布尔类型的数据。True和False

==,比较两个字符串、列表、数值是否相同
!=,比较两个字符串、列表、数值中前一个是否不等于后一个
>,比较两个字符串、列表、数值中前一个是否大于后一个
>>> "abc">"aBc"
True<,比较两个字符串、列表、数值中前一个是否小于后一个
>>> [1,2,3]<[1,2,4]
True>=,比较两个字符串、列表、数值中前一个是否大于或等于后一个
<=,比较两个字符串、列表、数值中前一个是否小于或等于后一个
>>> [1,2,3]<=[1,2,3,4]
True

三、逻辑运算符:(not、and、or)

短路设计”,可以与电路的连接方式做个类比。

  • or 逻辑或    表达式从左至右运算,若 or 的左侧逻辑值为 True ,则直接输出 True
  • and 逻辑与  表达式从左至右运算,若 and 的左侧逻辑值为 False ,则不用参与接下来的逻辑运算,整个表达式结果即为False.
  • not 逻辑非 
  • >>> not 0
  • True

四、位运算符:

运算符

描述

&

按位“与”运算符:参与运算的两个值,如果两个相应位都为 1,则结果为 1,否则为 0

|

按位“或”运算符:只要对应的两个二进制位有一个为 1 时,结果就为 1

^

按位“异或”运算符:当两对应的二进制位相异时,结果为 1

~

按位“取反”运算符:对数据的每个二进制位取反,即把 1 变为 0,把 0 变为 1

<<

“左移动”运算符:运算数的各二进制位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃, 低位补 0

>>

“右移动”运算符:运算数的各二进制位全部右移若干位,由“>>”右边的数指定移动的位数

 

五、赋值运算符:

运算符

描述

=

常规赋值运算符,将运算结果赋值给变量

+=

加法赋值运算符,例如 a+=b 等价于 a=a+b

-=

减法赋值运算符,例如 a-=b 等价于 a=a-b

*=

乘法赋值运算符,例如 a*=b 等价于 a=a*b

/=

除法赋值运算符,例如 a/=b 等价于 a=a/b

%=

取模赋值运算符,例如 a%=b 等价于 a=a%b

**=

幂运算赋值运算符,例如 a**=b等价于 a=a**b

//=

取整除赋值运算符,例如 a//=b 等价于 a=a//b

 

六、成员测试运算符:

运算符

描述

in

测试一个对象是否是另一个对象的元素,找到值时返回 True,否则返回 False

not in

当在指定的序列中没有找到值时返回 True,否则返回 False

 

>>> 5 in range(1,10,1)  #range()是 用来生成指定范围数字的内置函数
True
>>> 3 not in [1,2,3]
False

七、同一性测试运算符:

运算符

描述

is

判断两个标识符是否引用自同一个对象,若引用的是同一个对象则返回 True,否则返回 False

is not

判断两个标识符是不是引用自不同对象,若引用的不是同一个对象则返回 True,否则返回 False

 

 

八、运算符优先级:

算术运算符->位运算符->关系运算符->逻辑运算符->赋值运算符

运算符

描述

**


~

按位“取反”

*、/、%、//

乘、除、取模、取整除

+、- 

加、减

>>、<<

右移、左移

&

按位“与”

^、|

按位“异或”、按位“或”

<=、<、>、>=

比较运算符

==、!=

等于、不等于

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

赋值运算符

is、is not

身份运算符

in、not in

成员运算符

and or not

逻辑运算符