大家好,欢迎来到 Crossin的编程教室 !
数学运算是编程时少不了的操作。
其中加减乘除都比较简单,就和正常数学中的写法一样。要注意的就是在绝大多数编程语言中,乘法是 *,而不是 ×;除法是 /,而不是 ÷。Python 也是如此。
参与计算的可以是数值,也可以是一个表示数字的变量:
代码语言:javascript复制print(3 * 7)
a = 12
print(a / 3)
输出:
代码语言:javascript复制21
4.0
Python 3 里的除法(/)运算的结果是小数,即使结果是可以被整除的。所以上面例子中 a / 3 是 4.0 而不是 4。
如果你就是需要得到整除结果,可以用两个斜杠(//)实现:
代码语言:javascript复制print(8 / 2)
print(8 // 2)
print(9 // 2)
输出:
代码语言:javascript复制4.0
4
4
可以看到,当不能整除时,// 运算的结果会舍掉余数。
如果你想得的这个余数,可以用取模运算,符号是百分号(%):
代码语言:javascript复制print(9 % 2)
print(9 % 5)
输出:
代码语言:javascript复制1
4
之前我们在字符串格式化中也见到过 %。对于不同类型的数据,它起到的作用是不同的:对于两个数字就是取模,对于两个字符串则是进行格式化。
另一个很常见的数学运算是乘方,也就是幂运算。在不少编程语言中,用 ^ 符号表示乘方。然而在 Python 中,^ 表示「按位异或」的位操作运算(对此操作不理解也没关系,你通常不太会用到它),而表示乘方的符号则是两个乘号(**):
代码语言:javascript复制a = 8
b = a ^ 2 # 8和2按二进制位进行与操作
print(b)
b = a ** 2 # 8的2次方
print(b)
输出:
代码语言:javascript复制10
64
Python 还支持一种叫做「赋值运算符」的操作,就是在数学运算符后加上一个赋值操作符(=),表示将计算后的结果赋值给左边的变量。比如 a = 1,就相当于 a = a 1 ,是一种简化的写法。加减乘除,包括乘方、整除、取模等操作都可以写成赋值运算符的形式:
代码语言:javascript复制a = 7
a **= 2
print(a) # 7*7=49
a //= 2
print(a) # 49//2=24
a %= 2
print(a) # 24%2=0
输出:
代码语言:javascript复制49
24
0
在有些语言里,a = 1 和 a -= 1 还可以进一步简化成 a 和 a--,但可惜 Python 并不支持。
最后给一段代码,你能看出它的作用是什么吗?
代码语言:javascript复制x1 = 1
y1 = 2
x2 = 3
y2 = 4
dist = ((x1 - x2) ** 2 (y1 - y2) ** 2) ** 0.5
print(dist)
对于 Python 中的数学运算,你还要什么想了解的内容?欢迎在留言区讨论。
_往期文章推荐_
字符串格式化的5种方法,第3种简单又灵活