Python中的算数运算符
1. 算数运算符的介绍
算数运算符是运算符的一种,也称为数学运算符,是完成基本的算术运算使用的符号,用来处理四则运算。
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 10 + 20 = 30 |
- | 减 | 10 - 20 = -10 |
* | 乘 | 10 * 20 = 200 |
/ | 除 | 10 / 20 = 0.5 |
// | 取整除 | 返回除法的整数部分(商) 9 // 2 输出结果 4 |
% | 取余数 | 返回除法的余数 9 % 2 = 1 |
** | 幂运算 | 又称次方、乘方,2 ** 3 = 8 |
1) 拼接字符串
当+用于数字时表示加法,但是当+用于字符串时,它还有拼接字符串(将两个字符串连接为一个)的作用,请看代码:
name = "小明"
occupation = "学生"
info = "我的名字叫" + name + ",职业是" + occupation
print(info)
# 输出结果为 我的名字叫小明,职业是学生
2) 重复字符串
在 Python 中,* 运算符除了可以用作乘法运算,还可以用来重复字符串,将n个同样的字符串连接起来。
str1 = "对不起!"
print(str1 * 5)
# 输出结果为 对不起!对不起!对不起!对不起!对不起!
3) 除法 和 取整除 运算符的比较
# 整数不能除尽
print("23/5 =", 23/5) # 23/5 = 4.6
print("23//5 =", 23//5) # 23//5 = 4
print("23.0//5 =", 23.0//5) # 23.0//5 = 4.0
print("-------------------")
# 整数能除尽
print("25/5 =", 25/5) # 25/5 = 5.0
print("25//5 =", 25//5) # 25//5 = 5
print("25.0//5 =", 25.0//5) # 25.0//5 = 5.0
print("-------------------")
# 小数除法
print("12.4/3.5 =", 12.4/3.5) # 12.4/3.5 = 3.542857142857143
print("12.4//3.5 =", 12.4//3.5) # 12.4//3.5 = 3.0
从运行结果可以发现:
- / 的计算结果总是小数,不管是否能除尽,也不管参与运算的是整数还是小数。
- 当有小数参与运算时,// 结果才是小数,否则就是整数。
4) 求余运算符的测试
print("-----整数求余-----")
print(15 % 6) # 3
print(-15 % 6) # 3
print(15 % -6) # -3
print(-15 % -6) # -3
print("-----小数求余-----")
print(7.7 % 2.2) # 1.0999999999999996
print(-7.7 % 2.2) # 1.1000000000000005
print(7.7 % -2.2) # 1.1000000000000005
print(-7.7 % -2.2) # 1.0999999999999996
print("---整数和小数运算---")
print(23.5 % 6) # 5.5
print(23 % 6.5) # 3.5
print(23.5 % -6) # -0.5
print(-23 % 6.5) # 3.0
print(-23 % -6.5) # -3.5
仔细观察,可以发现两点:
- 只有当第二个数字是负数时,求余的结果才是负数。换句话说,求余结果的正负和第一个数字没有关系,只由第二个数字决定。
- %两边的数字都是整数时,求余的结果也是整数;但是只要有一个数字是小数,求余的结果就是小数。
5) 幂运算符的开方用法
由于开方是次方的逆运算,所以也可以使用 ** 运算符间接地实现开方运算。
print('81**(1/4) =', 81**(1/4)) # 81**(1/4) = 3.0
print('32**(1/5) =', 32**(1/5)) # 32**(1/5) = 2.0
2. 算数运算符的优先级
和数学中的运算符的优先级一致,在 Python 中进行数学计算时,同样也是:
-
先乘除后加减
-
同级运算符是从左至右计算
-
可以使用 () 调整计算的优先级
-
以下表格的算数优先级由高到最低顺序排列
运算符 | 描述 |
---|---|
** | 幂 (最高优先级) |
*、/、%、// | 乘、除、取余数、取整除 |
+、- | 加法、减法 |
例如:
2 + 3 * 5 = 17
(2 + 3) * 5 = 25
2 * 3 + 5 = 11
2 * (3 + 5) = 16
欢迎关注我的公众号《编程的朝圣之路》,带你一起从入门到入魔。