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
>=
大于等于-返回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中没有 ++ -- 自运算符。