1.Python算术运算符
以下假设变量: a=10,b=20:
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 – 两个对象相加 | a + b 输出结果 30 |
– | 减 – 得到负数或是一个数减去另一个数 | a – b 输出结果 -10 |
* | 乘 – 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
/ | 除 – x除以y | b / a 输出结果 2 |
% | 取模 – 返回除法的余数 | b % a 输出结果 0 |
** | 幂 – 返回x的y次幂 | a**b 为10的20次方, 输出结果 100000000000000000000 |
// | 取整除 – 返回商的整数部分(向下取整) |
>>> 9//2 4 >>> -9//2 -5 |
算数运算符 优先级
先乘除,后加减
同级从左向右
可以用()调整优先级
*
运算符还可以用于字符串
例如:"hello " * 10
# 字符串重复10次
2. 比较(关系)运算符
Python 的比较(关系)运算符共 6 个,详见表 2。
运算符 | 描述 |
---|---|
== | 比较两个对象是否相等 |
!= | 比较两个对象是否不相等 |
> | 大小比较,例如 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。
运算符 | 描述 |
---|---|
= | 常规赋值运算符,将运算结果赋值给变量 |
+= | 加法赋值运算符,例如 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。
运算符 | 描述 |
---|---|
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。
运算符 | 描述 |
---|---|
& | 按位“与”运算符:参与运算的两个值,如果两个相应位都为 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。
运算符 | 描述 |
---|---|
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。
运算符 | 描述 |
---|---|
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 所示。
运算符 | 描述 |
---|---|
** | 幂 |
~ |
按位“取反”
|
*、/、%、// | 乘、除、取模、取整除 |
+、- | 加、减 |
>>、<< | 右移、左移 |
& | 按位“与” |
^、| | 按位“异或”、按位“或” |
<=、<、>、>= | 比较运算符 |
==、!= | 等于、不等于 |
=、%=、/=、//=、-=、+=、*=、**= | 赋值运算符 |
is、is not | 身份运算符 |
in、not in | 成员运算符 |
and or not | 逻辑运算符 |