Python 运算符
Python支持以下类型的运算符:
算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符、身份运算符、运算符优先级。
Python算术运算符
以下假设变量:a = 20 , b = 40 :
运算符 | 描述 | 实例 |
+ | 加- 两个对象相加 | a + b = 60 |
- | 减-两个对象相减 | a - b = -20 |
* | 乘-两个数2相乘或是返回一个被重复若干次的字符串 | a*b=800 |
/ | 除- X除以Y | a/b=0.5 |
% | 取模-返回除法的余数 | b%a=0 |
** | 幂-运算 | a**b= 10995116277760000000000000000000000000000000000000000 |
// | 取整除-返回商的整数部分 | 9//2 = 4, 9.0//2.0=4.0,40//20=2,20//40=0 |
实例运行所有的运算符
运行输出结果:
Python 比较运算符
以下假设变量a =20, b = 40:
运算符 | 描述 | 实例 |
== | 等于,比较两个对象是否相等 | (a==b)返回false |
!= | 不等于-比较两个对象是否不相等 | (a!=b)返回True |
<> | 不等于-比较两个对象是否相等。Python2支持,Python3不支持。 | (a<>b)返回True |
> | 大于-返回x是否大于y | (a>b)返回False |
< | 小于-返回x是否小于y | (a<b)返回True |
>= | 大于等于-返回x是否大于y | (a.=b)返回False |
<= | 小于等于-返回x是否小于y | (a<=b)返回True |
运行结果:
Python 赋值运算符
以下假设变量a为20,b为40
运算符 | 描述 | 实例 |
= | 简单的赋值运算符 | c = 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 |
演示实例:
实例输出结果:
Python位运算符
以下假设变量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。~x类似于 -x-1 | (~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。 |
<< | 左移运算符:运算数的各二进位全部左移若干位,由<<右边的数字指定了移动的位数,高位丢弃,低位补0. | a<<2输出结果240,二进制解释:1111 0000 |
>> | 右移运算符:把 >> 左边的运算数的各二进位全部右移若干位,>>右边的数字指定了移动位数 | a>>2输出结果15,二进制解释:0000 1111 |
实例演示:
演示结果:
Python逻辑运算符
以下假设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为True,返回False,如果x为False,它返回True | not(a and b)返回False. |
实例运行
实例输出结果
Python成员运算符
除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串列表或元组。
运算符 | 描述 | 实例 |
in | 如果在指定的序列中找到值返回True,否则返回False | x在y序列中,如果x在y序列中返回True |
not in | 如果在指定的序列中没有找到值返回True,否则返回False. | x 不在y序列中,如果x不在y序列中返回True |
以下实例演示了Python所有成员运算符的操作:
以上实例输出结果
Python身份运算符
身份运算符用于比较两个对象的存储单元。
运算符 | 描述 | 实例 |
is | is是判断两个标识符是不是引用自一个对象。 | x is y,类似id(x) == id(y),如果引用的是同一个对象 则返回True,否则返回False. |
is not | is not 是判断两个标识符是不是引用自不同的对象 | x is not y,类似id(a)!=id(b),如果引用的不是同一个对象的则返回结果True,反则返回False. |
注:id()函数用于获取对象内存地址。
以下实例演示了Python所有身份运算符的操作。
以上实例输出结果
备注:
is与 == 区别:is用于判断两个变量引用对象是否为同一个,== 用于判断引用变量的值是否相等。
Python中没有 ++ -- 自运算符。