持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情
前言
每种语言都有运算符,大多数意义相似,但也有各自的差异。今天就来说说python的运算符。
python有哪些运算符
运算符是用来对数字进行数学运算,比如我们耳熟能详的加减乘除。在python中也支持这些运算符,按类型可分为:
- 算术运算符
- 关系运算符
- 逻辑运算符
- 赋值运算符
- 位运算符
算术运算符
| 运算符 | 中文释义 | 举例 | 结果 |
|---|---|---|---|
| + | 加 | 1 + 1 | 2 |
| - | 减 | 2 - 1 | 1 |
| * | 乘 | 2*3 | 6 |
| / | 除法 | 6 / 3 | 2 |
| // | 整除 | 9 / 2 | 4 |
| % | 取余,即取除法的余数 | 9 % 2 | 1 |
| ** | 幂运算/次方运算,即返回 x 的 y 次方 | 2 ** 3 | 8 |
算术运算符较简单,不多做介绍。需要注意的是python的除法在python2和python3的差异。 在python2中除法是直接取整,而python3的除法才是我们数学运算的除法。
# python2
>>> 7 / 2
3
# python3
>>> 7 / 2
3.5
关系运算符
| 运算符 | 描述 | 举例 |
|---|---|---|
| == | 等于(比较两者是否相等 ) | (a == b) 返回 False。 |
| != | 不等于 - 比较两者是否不相等 | (a != b) 返回 True。 |
| <> | 不等于 - 比较两者是否不相等(python3 已废弃) | (1 <> 2) 返回 True |
| > | 大于 (判断a是否大于b) | (a > b) 返回 False |
| < | 小于 (判断a是否小于b) | (a < b) 返回 True。 |
| >= | 大于等于(判断a是否大于等于b) | (a >= b) 返回 False。 |
| <= | 小于等于(判断a是否大于等于b) | (a <= b) 返回 True。 |
比较运算符在我们代码中也很常见,比如判断2个变量是否相等,某个数字是否小于预期的数字等。
逻辑运算符
| 运算符 | 逻辑表达式 | 描述 | 实例 |
|---|---|---|---|
| and | a and b | 布尔"与" : 两边都为True才返回True,否则为False | (10>2 and 20>2) 返回 True。 |
| or | a or b | 布尔"或" : 两边都为False才返回False,否则为True | (10>2 or 20<2) 返回 True。 |
| not | not a | 布尔"非" : 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not( 10 and 20) 返回 False |
其实逻辑运算符可以用来操作任意类型的判断,执行结果不一定是bool类型。比如:
>>> 10 and 20
20
其实就是and在判断两边对象时,如果第一个真,就接着判断第二个。这里两边都为真,就返回第二个的值;若第一个为False(0也是False),那就直接返回False了。
>>> 0 and 10
0
赋值运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| = | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
| += | 加法赋值运算符 | b += a 等效于 b = b + a |
| -= | 减法赋值运算符 | b -= a 等效于 b = b - a |
| *= | 乘法赋值运算符 | b *= a 等效于 b = b * a |
| /= | 除法赋值运算符 | b /= a 等效于 b = b / a |
| **= | 幂赋值运算符 | b **= a 等效于 b = b ** a |
| %= | 取模赋值运算符 | b %= a 等效于 b = b % a |
| //= | 取整除赋值运算符 | b //= a 等效于 b = b // a |
赋值运算符其实就是一种简写的算术运算符,习惯了写法即可。
位运算符
位运算符就是将数字转为计算机的二进制来计算
| 运算符 | 描述 | 实例 | |
|---|---|---|---|
| & | 按位与运算符:若2个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 ,二进制: 0000 1100 | |
| | | 按位或运算符:位只要有一个为1时,结果位就为1。 | (a | b) 输出结果 12 ,二进制: 0000 1100 | |
| 按位异或运算符:位不同时,结果为1 | (a ^ b) 输出结果 12 ,二进制: 0000 1100 | ||
| ~ | 按位取反运算符:对数据的每个二进制位取反。 ~x 类似于 -x-1 | (~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。 | |
| << | 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。 | a << 2 输出结果 12 ,二进制: 0000 1100 | |
| >> | 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位, >> 右边的数字指定了移动的位数 | a >> 2 输出结果 12 ,二进制: 0000 1100 |
小结
本文总结了一下python中的运算符。虽说大部分都很简单,但是部分运算符需要清楚特性和注意点,比如除法在python2和python3的区别。