本文共 2333 字,大约阅读时间需要 7 分钟。
作者:billy
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处运算符是一些特殊的符号,主要用于科学计算、比较大小和逻辑运算等。Python 中的运算符主要包括算术运算符、赋值运算符、比较运算符、逻辑运算符和位运算符。使用运算符将不同类型的数据按照一定的规则连接起来的式子,称之为表达式。下面我们学习一下最常用的一些运算符。
运算符 | 说明 | 举例 | 结果 |
---|---|---|---|
+ | 加 | 12.45 + 15 | 27.45 |
- | 减 | 4.56 - 0.26 | 4.3 |
* | 乘 | 5 * 3.6 | 18.0 |
/ | 除 | 7 / 2 | 3.5 |
% | 求余,即返回除法的余数 | 7 % 2 | 1 |
// | 取整数,即返回商的整数部分 | 7 // 2 | 3 |
** | 幂,即返回 x 的 y 次方 | 2 ** 4 | 16,即 2^4 |
注意事项:
运算符 | 说明 | 举例 | 展开形式 |
---|---|---|---|
= | 简单的赋值运算 | x = y | x = y |
+= | 加赋值 | x += y | x = x + y |
-= | 减赋值 | x -= y | x = x - y |
*= | 乘赋值 | x *= y | x = x * y |
/= | 除赋值 | x /= y | x = x / y |
%= | 取余数赋值 | x %= y | x = x % y |
**= | 幂赋值 | x **= y | x = x ** y |
//= | 最整除赋值 | x //= y | x = x // y |
运算符 | 作用 | 举例 | 结果 |
---|---|---|---|
> | 大于 | ‘a’ > ‘b’ | False |
< | 小于 | 156 < 456 | True |
== | 等于 | ‘c’ == ‘c’ | True |
!= | 不等于 | ‘y’ != ‘t’ | True |
>= | 大于等于 | 479 >= 426 | True |
<= | 小于等于 | 62.45 <= 45.5 | False |
运算符 | 含义 | 用法 | 结合方向 |
---|---|---|---|
and | 逻辑与 | op1 and op2 | 左到右 |
or | 逻辑或 | op1 or op2 | 左到右 |
not | 逻辑非 | not op | 右到左 |
运算符 | 运算法则 |
---|---|
“按位与” 运算 ‘&’ | 两个操作数的二进制表示,只有对应位都是 1 时,结果位才是 1,否则为 0。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同; |
“按位或” 运算 ‘|’ | 两个操作数的二进制表示,只有对应位都是 0 时,结果位才是 0,否则为 1。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同; |
“按位异或” 运算 ‘^’ | 当两个操作数的二进制表示相同(同为 0 或者同为 1)时,结果为 0,否则为 1。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同; |
“按位取反” 运算 ‘~’ | 将操作数对应二进制中的 1 改为 0,0 改为 1; |
左移位运算符 ‘<<’ | 将一个二进制操作数向左移动指定的位数,左边(高端位)溢出的位被丢弃,右边(低端位)的空位用 0 补充。左移运算符相当于乘以 2 的 n 次方; |
右移位运算符 ‘>>’ | 将一个二进制操作数向右移动指定的位数,右边(低端位)溢出的位被丢弃,而在填充左边(高端位)的空位时,如果最高位是 0(正数),左侧空位填入 0,如果最高位是 1(负数),左侧高位填入 1。右移运算符相当于除以 2 的 n 次方; |
由于移位运算符的速度特别快,所以在程序中遇到表达式乘以或除以 2 的 n 次方的情况时,一般采用位移运算符来代替
类型 | 说明 | 优先级 |
---|---|---|
** | 幂 | |
~、+、- | 取反、正号、负号 | |
*、/、%、// | 算术运算符 | |
+、- | 算术运算符 | |
<<、>> | 位移运算符中的左移和右移 | |
& | 位移运算符中的按位与 | |
^ | 位移运算符中的按位异或 | |
| | 位移运算符中的按位或 | |
<、<=、>、>=、!=、== | 比较运算符 |
当表达式中运算符较多时,应该使用括号 ‘()’ 来限定运行次序,避免运算符发生错误
在程序开发时,经常会根据表达式的结果有条件的进行赋值。
示例:a = 10b = 6if a > b: r = aelse: r = b
上面这个例子可以使用条件表达式进行简化
a = 10b = 6r = a if a > b else b
条件表达式的规则:先计算中间的条件 (a > b) ,如果结果为 True,返回 if 语句左边的值,否则返回 else 右边的值