Python数字类型
- 整数: 整数int 可以10进制表示,也可以二进制0b、八进制0o、十六进制表示0x
- 小数:浮点数 - float
- 复数: 复数 - complex(实数 + 虚数j部分)
数学运算符
运算符 | 优先级 | 描述 | 实例(a = 2, b = 3) |
---|---|---|---|
+ | 最低, 同等优先级,从左到右 | 加 - 两个对象相加 | a + b 输出结果 5 |
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -1 | |
* | 高于+、-运算, 同等优先级,从左到右 | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 6 |
/ | 除 - x除以y | b / a 输出结果 1.5 | |
// | 取整除 - 返回商的整数部分(向下取整),如果有一个操作数为浮点数,返回类型也为浮点数 |
3//2 => 1 |
|
% | 取模 - 返回除法的余数, 余数的符号与除数一致 | b % a 输出结果 1 (-b) % a 输出结果1 b % (-a) 输出结果-1 |
|
** | 最高 | 幂 - 返回x的y次幂 | a**b 为2的3次方, 输出结果8 |
数学运算需要注意运算符的优先级,可以通过使用()
来保证计算优先性
数学运算示例
# 甲乙二人相向而行,5分钟后,两人之间距离缩短1/3,请问,两人相遇需要几分钟
1/(1/3)*5
# 重力加速度为9.8m/s2,站在5米的高度,水平方向以380米/s抛出一个球,请问此球落地点距离原处多远
# 球的水平位移 s = 水平匀速速度 * 水平移动时间
# 球的落地时间 t = (5 * 2 / 9.8) ** 0.5
380 * (5 * 2 / 9.8) ** 0.5
# 浏览新闻网页,往往将很多新闻分成几页,一页一页的翻阅。假设现在有23条新闻,每页显示5条,计算总页数
23 // 5 + 1
复数运算
# 复数表示:实部 + 虚部j
1 + 0j
2 + 2j
# 复数运算
# 加减运算
(1+1j) + (2+2j)
(1+1j) / (2+2j)
# 乘除运算
(1+1j) * (2+2j)
(1+1j) / (2+2j)
运算结果类型说明
除法的运算结果始终是浮点数
10 / 2 # 5.0
10.0 / 2.0 # 5.0
10 / 2.0 # 5.0
10.0 / 2 #5.0
乘法运算的结果,如果操作数有一个是浮点数,结果就为浮点数
10 * 2 # 20
10.0 * 2 # 20.0
10 * 2.0 # 20.0
整除运算的结果, 如果操作数有一个是浮点数, 结果就为浮点数
10 // 2 # 5
10.0 // 2 # 5.0
10 // 2.0 # 5.0
取模运算的结果, 如果操作数有一个数是浮点数, 结果就为浮点数
10 % 3 # 1
10.0 % 3 # 1.0
10 % 3.0 # 1.0
指数运算的结果, 如果一个操作数有一个数是浮点数, 结果就为浮点数
10 ** 2 # 100
10.0 ** 2 # 100.0
10 ** 2.0 # 100.0
关于负数运算
负数的整除运算
向下取整
10 // -3 # 结果为-4, 而不是 -2
-10 // 3 # 结果为-4
负数的取模运算
结果的正负与运算符右侧的操作数一致
10 % -3 # 结果是 -2 而不是 1
-10 % 3 # 结果是 2
讨论区