Python 支持以下7种运算符
1.算术运算符
假设变量a=10,变量b=5
运算符 | 描述 | 实例 |
---|---|---|
+ | 加:两个对象相加 | a+b输出结果为15 |
- | 减:得到负数或一个数减另一个数 | a-b输出结果为5 |
* | 乘:两个数相乘或返回一个被重复若干次的字符串 | a*b输出结果为50 |
/ | 除:x除以y | a/b输出结果为2 |
% | 取余:返回除法的余数 | b%a输出结果为0 |
** | 幂:返回x的y次幂 | a**b为10的5次方,输出结果为100000 |
// | 取整除(地板除):返回商的整数部分 | 9//2的输出结果为4,9.0//2.0的输出结果为4.0 |
2.比较运算符
假设变量a为10,变量b为20.
运算符 | 描述 | 实例 |
---|---|---|
== | 等于:比较两个对象是否相等 | (a==b)返回False |
!= | 不等于:比较两个对象是否不相等 | (a!=b)返回True |
> | 大于:返回x是否大于y | (a>b)返回False |
< | 小于:返回x是否小于y | (a<b)返回True |
>= | 大于等于:返回x是否大于等于y | (a>=b)返回False |
< | 小于:返回x是否小等于y | (a<=b)返回True |
3.赋值运算符
假设变量a为10,变量b为20.
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c=a+b,将a+b的运算结果赋值给c |
+= | 加法赋值运算符 | c+=a,等效于c=c+a |
-= | 减法赋值运算符 | c-=a,等效于c=c-a |
*= | 乘法赋值运算符 | c *=a,等效于c=c*a |
/= | 除法赋值运算符 | c/=a,等效于c=c/a |
%= | 取模赋值运算符 | c%=a,等效于c=c%a |
**= | 幂赋值运算符 | c**=a,等效于c=c**a |
//= | 取整(地板)除赋值运算符 | c//=a,等效于c=c//a |
4.位运算符
设变量a为60,变量b为13
运算符 | 描述 | 实例 |
---|---|---|
& | 按位与运算符:如参与运算的两个值响应为都为1,则该位的结果为1,否则为0. | (a&b)的结果为12,二进制解释:0000 1100 |
| | 按位或运算符:只要对应的二进制位有一个为1,结果就为1 | (a|b)的结果为61二进制解释:0011 1101 |
^ | 按位异或运算符:当对应的两个二进制位相异时,结果为1 | (a^b)的结果为49,二进制解释:0011 0001 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变成0,把0变成1 | (~a)的输出结果为-61,二进制解释:1100 0011,一个有符号二进制数的补码形成 |
<< | 左移运算符:运算数的各二进制位全部左移若干位,由<<右边的数指定移动的位数,高位丢弃,低位补0 | a<<2输出结果为240,二进制解释:1111 0000 |
>> | 右移运算符:运算数的各二进制位全部右移若干位,由>>右边的数指定移动的位数 | a>>2输出结果为15,二进制解释:0000 1111 |
5.逻辑运算符
假设变量a为10,变量b为20.
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与":如果 x 为 False ,x and y 就返回 False ;否则返回 y 的计算值 | (a and b) 返回20 |
or | x or y | 布尔"或":如果 x 是非 0 就返回 x 的值;否则返回y的计算值 | (a or b)返回 10 |
not | not x | 布尔"非":如果x为Ture,就返回 False,如果x为False,就返回Ture | not(a and b)返回False |
6.成员运算符
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值,就返回 Ture;否则 x返回False | x 在有、序列中,如果x在y序列中,就返回Ture |
not in | 如果在指定的序列中没有找到值,就返回Ture;否则返回false | x 不在y序列中,如果x不在y序列中,就返回Ture |
7.身份运算符
身份运算符用于比较两个对象的储存单元
运算符 | 描述 | 实例 |
---|---|---|
is | is判断两个标识符是否引用自一个对象 | x is y ,如果id(x)等于id(y),is返回结果1 |
is not | is not 用于判断两个标识符是否引用自不同的对象 | x is not y,如果id(x)不等于id(y),is not 返回结果1 |
运算符优先级
运算符 | 描述 |
---|---|
** | 指数(最高优先级) |
~ + - | 按位翻转,一元加号和减号(最后两个的方法名为+@和-@) |
* / % // | 乘、除、取模和取整 |
+ - | 加法、减法 |
>> << | 右移左移运算符 |
& | 位AND |
^ | 位运算符 |
<= >= > < | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
**