数学运算符(优先级从高到低)
操作符 | 操作 | 例子 | 结果 |
---|---|---|---|
** | 指数 | 2 ** 4 | 16 |
% | 取余数/取模 | 15 % 2 | 1 |
// | 整除/商数取整数 | 15 // 4 | 3 |
/ | 除法 | 15 / 4 | 3.75 |
* | 乘法 | 3 * 6 | 18 |
+ | 加法 | 1 + 2 | 3 |
- | 减法 | 2 - 1 | 1 |
在运算中,只要有操作数为浮点数,python默认得到的总是浮点数。
将任意两个数相除时,结果总是浮点数。
在写很大的数时,可以使用下划线将其中的数字分组,但打印此数时,python不会打印下划线。
>>> 2 ** 4 # 指数
16
>>> 15 % 2 # 取余数
1
>>> 15 // 4 # 整除
3
>>> 3 * 6 # 乘法
18
>>> 15 / 4 # 除法
3.75
>>> 1 + 2 # 加法
3
>>> 2 - 1 # 减法
1
>>> x = 10_000_000_000
>>> print(x)
10000000000
赋值运算符
赋值运算符应该是最为常见的运算符,它的作用是将右边的值赋给左边的变量。在上面的变量赋值已经演示过这里就不再赘述。
比较运算符
比较运算符也称为关系运算符,包括==
、!=
、<
、>
、<=
、>=
。比较运算符会产生布尔值,要么是True
要么是False
。
>>> 1 < 4
True
>>> 4 != 4
False
逻辑运算符
逻辑运算符有and
、or
和not
。
and
即逻辑与运算。如果两个布尔值都是True
,那么运算的结果就是True
;左右两边的布尔值有一个是False
,最终的运算结果就是False
。如果and
左边的布尔值是False
,不管右边的布尔值是什么,最终的结果都是False
,所以在做运算的时候右边的值会被跳过。
or
即逻辑或运算。如果左边的布尔值为True
,那么最终的结果就是True
,右边的表达式不会执行。
not
即逻辑非运算。作用是取与该布尔值相反的值,也就是说,后面的布尔值如果是True
运算结果就是False
,而后面的布尔值如果是False
则运算结果就是True
。
位运算符
位运算符&
有按位与、|
按位或、^
按位异或、~
按位取反四种。
>>> a = 0b0011 1100
>>> b = 0b0000 1111
>>> bin(a&b) # 求a按位与b的二进制值
'0b1100'
>>> bin(a|b) # 求a按位或b的二进制值
'0b111111'
>>> bin(a^b) # 求a按位异或b的二进制值
'0b110011'
>>> bin(~a) # 求a按位取反的二进制值
'-0b111101'