各位初学Python的小伙伴,上一节课我们学习了不带小数的整数int,本节课专门讲解带小数的浮点数float,内容通俗易懂,零基础也能跟着敲代码练习!
如果写代码遇到报错、分不清整数和浮点数、小数计算出现奇怪误差,都可以在评论区留言提问;也可以分享你的学习笔记,大家一起交流学习!
一、浮点数(float)基础概念
1. 定义
浮点数英文为float,用来表示带有小数点的数字,包含正数小数、负数小数。
生活场景:身高1.75m、价格99.9元、体重62.5kg、平均分88.5等需要精确到小数的数值。
2. 两种书写格式
示例:3.14、-0.5、99.0(即使小数位是0,只要带小数点就是浮点数)
- 科学计数法:超大/超小小数简化写法,用
e或E代表10的次方
示例:1.2e3 = 1.2 × 10³ = 1200.0;5e-2 = 5 × 10⁻² = 0.05
3. 小知识点区分
6:整数 int6.0:浮点数 float,类型完全不同
二、浮点数基础代码案例
案例1:两种浮点数书写、打印类型
# 标准小数写法num1 = 3.14num2 = -9.9num3 = 8.0# 科学计数法num4 = 1.5e2 # 1.5*100=150.0num5 = 2e-3 # 2*0.001=0.002# 打印数值print("标准小数:", num1, num2, num3)print("科学计数法1.5e2 =", num4)print("科学计数法2e-3 =", num5)# type()查看数据类型print("num1的数据类型:", type(num1))print("num3的数据类型:", type(num3))
运行结果:
标准小数: 3.14 -9.9 8.0科学计数法1.5e2 = 150.0科学计数法2e-3 = 0.002num1的数据类型: <class 'float'>num3的数据类型: <class 'float'>
三、float() 转换函数
内置函数float(),可以把整数、合法数字字符串转换成浮点数。
转换规则
案例2:float() 类型转换演示
# 整数转浮点数a = float(10)print("float(10) =", a)# 数字字符串转浮点数b = float("66.66")c = float("100")print("float('66.66') =", b)print("float('100') =", c)# 负数转换d = float("-3.5")print("float('-3.5') =", d)
运行结果:
float(10) = 10.0float('66.66') = 66.66float('100') = 100.0float('-3.5') = -3.5
四、浮点数算术运算
浮点数可以和整数、浮点数做四则运算,只要计算里存在浮点数,结果一定是浮点数。
运算符:+加、-减、*乘、/除法、//整除、%取余、**次方
案例3:浮点数运算示例
a = 5.5b = 2print("加法:", a + b)print("减法:", a - b)print("乘法:", a * b)print("除法:", a / b)print("整除:", a // b)print("取余:", a % b)print("平方:", a ** 2)
运行结果:
加法: 7.5减法: 3.5乘法: 11.0除法: 2.75整除: 2.0取余: 1.5平方: 30.25
五、浮点数经典坑:精度误差(必看)
计算机存储小数会存在二进制精度丢失,简单小数相加会出现多余长尾小数,属于正常现象。
案例4:精度误差演示
# 0.1 + 0.2 理论应该等于0.3print(0.1 + 0.2)
运行输出:
简单解决办法
- 保留固定小数位数打印:round(数值, 保留位数)
result = 0.1 + 0.2print(round(result, 1)) # 保留1位小数
输出:0.3
六、课后练习题(共3道,由简到难)
第1题 基础定义题
按要求定义变量并打印数值与类型:
第2题 类型转换题
使用float()完成转换,打印每一个结果:
第3题 运算+精度处理综合题
已知 x = 0.3,y = 0.6
本节课浮点数float核心知识点全部讲解完毕,重点记住浮点数两种写法、float转换函数、运算规则,还有小数精度误差的解决方法!
做完练习题的同学,可以把你的代码发到评论区,我帮你检查错误;有看不懂的运算、精度问题都可以留言提问。下一节课我们学习字符串数据类型,记得持续学习!