查看原文
其他

这些数学运算符号你都见过吗?

脚本之家 2023-12-27

The following article is from Crossin的编程教室 Author Crossin先生

将 脚本之家 设为“星标
第一时间收到文章更新
来源 | Crossin的编程教室(ID:crossincode)
作者:Crossin先生

已获得原公众号的授权转载

数学运算是编程时少不了的操作。

其中加减乘除都比较简单,就和正常数学中的写法一样。要注意的就是在绝大多数编程语言中,乘法是 *,而不是 ×;除法是 /,而不是 ÷。Python 也是如此。

参与计算的可以是数值,也可以是一个表示数字的变量:

print(3 * 7)a = 12print(a / 3)
输出:
214.0
Python 3 里的除法(/)运算的结果是小数,即使结果是可以被整除的。所以上面例子中 a / 3 是 4.0 而不是 4。

如果你就是需要得到整除结果,可以用两个斜杠(//)实现:

print(8 / 2)print(8 // 2)print(9 // 2)
输出:
4.044
可以看到,当不能整除时,// 运算的结果会舍掉余数。

如果你想得的这个余数,可以用取模运算,符号是百分号(%):

print(9 % 2)print(9 % 5)
输出:
14
之前我们在字符串格式化中也见到过 %。对于不同类型的数据,它起到的作用是不同的:对于两个数字就是取模,对于两个字符串则是进行格式化。

另一个很常见的数学运算是乘方,也就是幂运算。在不少编程语言中,用 ^ 符号表示乘方。然而在 Python 中,^ 表示「按位异或」的位操作运算(对此操作不理解也没关系,你通常不太会用到它),而表示乘方的符号则是两个乘号(**):

a = 8b = a ^ 2 # 8和2按二进制位进行与操作print(b)b = a ** 2 # 8的2次方print(b)
输出:
1064
Python 还支持一种叫做「赋值运算符」的操作,就是在数学运算符后加上一个赋值操作符(=),表示将计算后的结果赋值给左边的变量。比如 a += 1,就相当于 a = a + 1 ,是一种简化的写法。加减乘除,包括乘方、整除、取模等操作都可以写成赋值运算符的形式:
a = 7a **= 2print(a) # 7*7=49a //= 2print(a) # 49//2=24a %= 2print(a) # 24%2=0
输出:
49240
在有些语言里,a += 1 和 a -= 1 还可以进一步简化成 a++ 和 a--,但可惜 Python 并不支持。

最后给一段代码,你能看出它的作用是什么吗?

x1 = 1y1 = 2x2 = 3y2 = 4dist = ((x1 - x2) ** 2 + (y1 - y2) ** 2) ** 0.5print(dist)
对于 Python 中的数学运算,你还要什么想了解的内容?欢迎在留言区讨论。
  推荐阅读:
  1. 计算机的编年史,史上最全!
  2. Python之父加入3年,微软终于对Python下手:直接放进Excel!
  3. 为什么 Python、Go 和 Rust 都不支持三元运算符?
  4. 我用什么写Python?
  5. 取代C++!3.6万行Rust代码改写Windows内核,这门语言最早竟用来修电梯
继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存