Python语言支持以下类型的运算符:
算术运算符
操作符 |
描述 |
示例(a=10、b=21) |
+ 加法 |
相加运算两侧的值 |
a + b = 31 |
- 减法 |
操作符右侧数减去左侧操作数 |
a – b = -11 |
* 乘法 |
操作符两侧的值相乘 |
a * b = 210 |
/ 除法 |
用运算符右侧的操作数除以左侧操作数 |
b / a = 2.1 |
% 模 |
用右手操作数除以左手操作数并返回余数 |
b % a = 1 |
** 指数 |
执行运算符指数(幂)计算 |
a**b 就是10 的20 次幂 |
// |
除法不管操作数为何种数值类型,总是会舍去小数部分,返回数字序列中比真正的商小的最接近的数字 |
9//2 = 4 |
比较(关系)运算符
操作符 |
描述 |
示例(a=10、b=20) |
== |
如果两个操作数的值相等,则条件计算结果为 true |
(a == b) 其值不为 true. |
!= |
如果两个操作数的值不相等,则条件变为 false |
(a!= b) 其值为 true |
> |
如果左操作数的值大于右操作数的值,则条件为 true |
(a > b) 其值不为true |
< |
如果左操作数的值小于右操作数的值,则条件为 true |
(a < b) 其值为true |
>=
|
如果左操作数的值大于或等于右操作数的值,则条件为 true |
(a >= b) 其值不为 true |
<= |
如果左操作数的值小于或等于右操作数的值,则条件为 true |
(a <= b) 其值为 true |
赋值运算符
运算符 |
描述 |
示例 |
= |
将右侧的操作数赋值给左侧的操作数 |
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 |
逻辑运算符
运算符 |
描述 |
示例 |
in |
如果在指定的顺序中找到变量,计算结果为true,否则为 false |
x in y, 如果x是序列y的成员,则返回true |
not in |
如果在指定的顺序中不能找到变量,计算结果为true,否则为 false |
x not in y, 如果x不是序列y的成员,则返回true |
位运算符
运算符 |
描述 |
示例(a = 60、b =13) |
& |
操作符复制一个位到结果如果都存在于两个操作数 |
(a & b) (二进制为 0000 1100) |
| |
它复制一个位,如果存在于其中一个操作数 |
(a | b) = 61 (二进制为 0011 1101) |
^ |
异或运算 |
(a ^ b) = 49 (二进制为 0011 0001) |
~ |
它是一元,并具有“翻转”位的作用 |
(~a ) = -61 (二进制为 1100 00112 以补码形式,由于一个带符号二进制数) |
<< |
二进制左移 |
a << = 240 (二进制为 1111 0000) |
>> |
二进制右移 |
a >> = 15 (二进制为 0000 1111) |
基本数据类型
Python3中所有的整型都为int类型,Python2中当整型超过一个数时,则自动变为long类型