运算符详解

一、算术运算符:

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

例:

>>> (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
1

3**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)

 Python中逻辑运算采用了“短路设计”,可以与电路的连接方式做个类比。

  • 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 逻辑运算符
posted @ 2020-10-25 18:32  shijin_lee  阅读(1365)  评论(0编辑  收藏  举报