首页 > 编程笔记 > Python笔记

Python运算符及用法(超级详细)

Python 中的运算符主要分为算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符和身份运算符共 7 大类,运算符之间也是由优先级的,下面我们就来进行具体介绍。

1. 算术运算符

Python 的算术运算符共有 7 个,详见表 1。

表 1:Python 的算术运算符
运算符 描述
+ 两个数相加,或是字符串连接
- 两个数相减
* 两个数相乘,或是返回一个重复若干次的字符串
/ 两个数相除,结果为浮点数(小数)
// 两个数相除,结果为向下取整的整数
% 取模,返回两个数相除的余数
** 幂运算,返回乘方结果

以上算术运算符的示例和运行结果如下所示:

>>> 5 + 4
9
>>> 4.3 - 2
2.3
>>> 3 * 7
21
>>> 2 / 4
0.5
>>> 2 // 4
0
>>> 17 % 3
2
>>> 2 ** 5
32

2. 比较(关系)运算符

Python 的比较(关系)运算符共 6 个,详见表 2。

表 2:Python 的比较(关系)算术运算符
运算符 描述
== 比较两个对象是否相等
!= 比较两个对象是否不相等
> 大小比较,例如 x>y 将比较 x 和 y 的大小,如 x 比 y 大,返回 True,否则返回 False
< 大小比较,例如 x<y 将比较 x 和 y 的大小,如 x 比 y 小,返回T rue,否则返回 False
>= 大小比较,例如 x>=y 将比较 x 和 y 的大小,如 x 大于等于 y,返回 True,否则返回 False
<= 大小比较,例如 x<=y 将比较 x 和 y 的大小,如 x 小于等于 y,返回 True,否则返回 False

上述比较(关系)运算符的示例如下所示:

>>> a =1
>>> b =2
>>> print(a == b)
False
>>> print(a != b)
True
>>> print(a > b)
False
>>> print(a < b)
True
>>> print(a >= b)
False
>>> print(a <= b)
True

3.赋值运算符

Python 的赋值运算符共 8 个,详见表 3。

表 3:Python 的赋值运算符
运算符 描述
= 常规赋值运算符,将运算结果赋值给变量
+= 加法赋值运算符,例如 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

上述赋值运算符的示例如下所示:

>>> a =2
>>> b =3
>>> a+=b
>>> print(a)
5
>>> a-=b
>>> print(a)
2
>>> a*=b
>>> print(a)
6
>>> a/=b
>>> print(a)
2.0
>>> a%=b
>>> print(a)
2.0
>>> a**=b
>>> print(a)
8.0
>>> a//=b
>>> print(a)
2.0

4. 逻辑运算符

Python 的逻辑运算符共 3 个,详见表 4。

表 4:Python 的逻辑运算符
运算符 描述
and 布尔“与”运算符,返回两个变量“与”运算的结果
or 布尔“或”运算符,返回两个变量“或”运算的结果
not 布尔“非”运算符,返回对变量“非”运算的结果

上述逻辑运算符的示例如下所示:

>>> a =True
>>> b =False
>>> print(a and b)
False
>>> print(a or b)
True
>>> print(not(a and b))
True

5.位运算符

Python 的位运算符共 6 个,详见表 5。

表 5:Python 的位运算符
运算符 描述
& 按位“与”运算符:参与运算的两个值,如果两个相应位都为 1,则结果为 1,否则为 0
| 按位“或”运算符:只要对应的两个二进制位有一个为 1 时,结果就为 1
^ 按位“异或”运算符:当两对应的二进制位相异时,结果为 1
~ 按位“取反”运算符:对数据的每个二进制位取反,即把 1 变为 0,把 0 变为 1
<< “左移动”运算符:运算数的各二进制位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃, 低位补 0
>>
“右移动”运算符:运算数的各二进制位全部右移若干位,由“>>”右边的数指定移动的位数

上述位运算符的示例如下所示:

>>> a=55  #a=0011 0111
>>> b=11  #b=0000 1011
>>> print(a&b)
3
>>> print(a|b)
63
>>> print(a^b)
60
>>> print(~a)
-56
>>> print(a<<3)
440
>>> print(a>>3)
6

6. 成员运算符

Python 的成员运算符共 2 个,详见表 6。

表 6:Python 的成员运算符
运算符 描述
in 当在指定的序列中找到值时返回 True,否则返回 False
not in 当在指定的序列中没有找到值时返回 True,否则返回 False

上述成员运算符的示例如下所示:

>>> a=1
>>> b=20
>>> l = [1, 2, 3, 4, 5]
>>> print(a in l)
True
>>> print(b not in l)
True

7. 身份运算符

Python 的身份运算符共 2 个,详见表 7。

表 7:Python的身份运算符
运算符 描述
is 判断两个标识符是否引用自同一个对象,若引用的是同一个对象则返回 True,否则返回 False
is not 判断两个标识符是不是引用自不同对象,若引用的不是同一个对象则返回 True,否则返回 False

上述身份运算符的示例如下所示:

>>> a=123
>>> b=123
>>> c=456
>>> print(a is b)
True
>>> print(a is not c)
True

8. 运算符优先级

上述 34 个 Python 运算符的优先级从高到低排序如表 8 所示。

表 8:Python 运算符优先级
运算符 描述
**
~
按位“取反”
*、/、%、// 乘、除、取模、取整除
+、-  加、减
>>、<< 右移、左移
& 按位“与”
^、| 按位“异或”、按位“或”
<=、<、>、>= 比较运算符
==、!= 等于、不等于
=、%=、/=、//=、-=、+=、*=、**= 赋值运算符
is、is not 身份运算符
in、not in 成员运算符
and or not 逻辑运算符

所有教程

优秀文章