运算符大致的概念是通过给出的一或多个值来产生另一个表达式的运算,是一种告诉编译器执行特定的数学或逻辑操作的符号。
所有计算机语言都有它固定的运算符,而且运行有优先等级。下面解释一下Python的运算符及优先级顺序
1. 算术运算符
2. 比较(关系)运算符
3. 逻辑(布尔)运算符
4. 位运算符
5. 赋值运算符
6. 成员运算符
7. 身份运算符
1. 算术运算符
运算符
含义
示例
+
加:两个对象相加,或者一元加
x + y
-
减:两个对象相减,或得到负数
x - y
*
乘:两个操作数相乘,或是返回一个被重复若干次的字符串
x * y
/
除:两个操作数相除(总是浮点数)
x / y
%
取模:返回除法(/)的余数
x % y(x/y 的余数)
//
取整除(地板除):返回商的整数部分
x // y
**
幂:返回 x 的 y 次幂
x ** y
2. 比较运算符
运算符
含义
示例
>
大于:如果左操作数大于右操作数,则为 True
x > y
<
小于:如果左操作数小于右操作数,则为 True
x < y
==
等于:如果两个操作数相等,则为 True
x == y
!=
不等于:如果两个操作数不相等,则为 True
x != y
>=
大于等于:如果左操作数大于或等于右操作数,则为 True
x >= y
<=
小于等于:如果左操作数小于或等于右操作数,则为 True
x <= y
3. 赋值运算符
运算符
示例
等价于
=
x = 5
x = 5(相同)
+=
x += 5
x = x + 5
-=
x -= 5
x = x - 5
*=
x *= 5
x = x * 5
/=
x /= 5
x = x / 5
%=
x %= 5
x = x % 5
//=
x //= 5
x = x // 5
**=
x **= 5
x = x ** 5
&=
x &= 5
x = x & 5
|=
x |= 5
x = x | 5
^=
x ^= 5
x = x ^ 5
>>=
x >>= 5
x = x >> 5
<<=
x <<= 5
x = x << 5
4. 位运算符
运算符
含义
示例
&
按位与(AND):参与运算的两个值的两个相应位都为1,则该位的结果为1;否则为0
x & y
|
按位或(OR):参与运算的两个值的两个相应位有一个为1,则该位的结果为1;否则为0
x | y
~
按位翻转/取反(NOT):对数据的每个二进制位取反,即把 1 变为 0 ,把 0 变为 1
~x
^
按位异或(XOR):当两个对应的二进制位相异时,结果为1
x ^ y
>>
按位右移 :运算数的各个二进制位全部右移若干位
x >> 2
<<
按位左移:运算数的各个二进制位全部左移若干位,高位丢弃,地位不补 0
x << 2
5. 逻辑运算符
运算符
含义
示例
and
x and y
逻辑与:如果 x 为 False,返回 false;否则返回 y 的计算值
or
x or y
逻辑或:如果 x 是非 0,返回 x 的值;否则返回 y 的计算值
not
not x
逻辑非:如果 x 为 False,返回 True;如果 x 为 True,返回 False
6. 成员运算符
运算符
含义
示例
in
如果在指定序列中找到值/变量,返回 True;否则返回 False
5 in x
not in
如果在指定序列中没有找到值/变量,返回 True;否则返回 False
5 not in x
7. 身份运算符
身份运算符用于检查两个值(或变量)是否位于存储器的同一部分。
注意: 两个变量相等,并不意味着它们也相同。
运算符
含义
示例
is
如果操作数相同,则为 True(引用同一个对象)
x is True
is not
如果操作数不相同,则为 True(引用不同的对象)
x is not True
关于运算符优先级
按箭头指向依次降低(乘、除、取余优先级最高,括号内同级):
算术运算符: (*,/,%)→(+,-)
↓
位运算符(左移动,右移动): (<< ,>>)
↓
位运算符(与,或,异或): (&)→(^)→(|)
↓
比较运算符: (,>=,<=,==,!=)
↓
身份运算符:(is,is not)
↓
成员运算符:(in,not in)
↓
逻辑运算符:(not)→(and)→(or)