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中没有 ++ -- 自运算符。