上一期我们已经掌握了Python整数类型,今天将继续学习它的常用搭档——浮点数(float)。
浮点数说白了就是「带小数的数字」,生活中随处可见:一杯奶茶15.8元、体重52.5kg、气温23.6℃,这些都要用浮点数来表示。作为Python中最常用的数值类型之一,浮点数看似简单,却藏着很多新手容易踩的坑,今天一次性讲透,看完直接上手不踩雷!
📌 什么是浮点数?
在Python中,浮点数(英文缩写float)专门用于表示「带有小数部分的数值」,也可以表示整数形式的小数(比如5.0)。
简单区分:没有小数的是整数(int),有小数的就是浮点数(float),哪怕小数部分是0(如3.0),它也是浮点数,不是整数哦~
举个生活中的例子:
✅ 价格:39.9元、100.0元(浮点数)
✅ 身高:1.68米、1.80米(浮点数)
❌ 人数:50人(整数,无小数,用int表示)
🔧 浮点数的3种定义方法(首选前2种)
和整数一样,浮点数定义无需手动指定类型,Python会自动识别,3种方法按需使用,新手重点掌握前两种即可。
1. 直接赋值(最基础、最常用)
语法:变量名 = 带小数的数值,直接输入带有小数点的数字,Python自动识别为float类型。
# 带小数的浮点数(最常见)price = 15.8 # 奶茶价格,float类型weight = 52.5 # 体重,float类型# 整数形式的浮点数(小数部分为0)num1 = 100.0 # 是浮点数,不是整数num2 = 0.0 # 浮点数,不能等同于整数0
2. 使用float()函数转换(重点,必学)
语法:变量名 = float(待转换的数据),可将整数、纯数字字符串,转换成浮点数,这是新手最常用的转换方式,注意避开转换坑!
# 整数转浮点数(直接添加小数点和0)num3 = float(10) # 正确,输出10.0(float类型)num4 = float(-25) # 正确,输出-25.0(float类型)# 纯数字字符串转浮点数(字符串不能有字母、符号)num5 = float("39.9") # 正确,输出39.9# num6 = float("39a.9") # 错误,字符串含字母,无法转换# 布尔值转浮点数(True=1.0,False=0.0)num7 = float(True) # 正确,输出1.0num8 = float(False) # 正确,输出0.0
3. 科学计数法表示(进阶,了解即可)
对于特别大或特别小的浮点数,可使用科学计数法表示,格式为数字e±指数(e表示10的幂),日常开发中较少用到,新手了解即可。
# 科学计数法表示浮点数num9 = 1.23e5 # 等同于1.23 × 10^5 = 123000.0num10 = 4.5e-3 # 等同于4.5 × 10^-3 = 0.0045
✅ 浮点数的核心特性(必记)
🔢 支持所有数值运算:和整数一样,可进行加、减、乘、除、取余、幂运算等,运算结果依然是浮点数(除非特殊处理)。
📌 有精度限制(重点坑):浮点数不是精确值,存在微小的精度误差(比如0.1+0.2≠0.3),这是Python浮点数的固有特性,新手一定要注意!
📏 无大小限制:和整数一样,浮点数的大小没有上限和下限,只要电脑内存足够,可表示任意大小的带小数数值。
🔄 不可变类型:浮点数一旦定义,其值无法修改,修改时本质是创建了一个新的浮点数对象(不用深入理解,记住即可)。
🔢 浮点数的常用操作(新手必练)
1. 基本数值运算
# 加、减、乘、除(结果均为浮点数)a = 10.5b = 2.5print(a + b) # 加法,输出13.0print(a - b) # 减法,输出8.0print(a * b) # 乘法,输出26.25print(a / b) # 除法,输出4.0# 取余、幂运算、整除print(a % b) # 取余,输出0.5(10.5除以2.5,余数0.5)print(a ** b) # 幂运算,输出10.5的2.5次方(约374.606)print(a // b) # 整除,输出4.0(舍弃小数部分,结果仍为浮点数)
2. 常用判断与转换
# 判断是否为浮点数(用isinstance()函数)num = 3.14print(isinstance(num, float)) # 输出True,说明是浮点数类型# 浮点数转整数(用int()函数,舍弃小数部分,不四舍五入)num11 = int(3.9) # 输出3,不是4num12 = int(5.1) # 输出5,不是6# 浮点数转字符串(方便拼接文字,适合公众号案例展示)price = 19.9print(f"今日奶茶价格:{price}元") # 输出:今日奶茶价格:19.9元
❌ 必避的4个浮点数坑(重中之重)
这部分一定要认真看!90%的新手都会在这里栽跟头,记住这些坑,少走很多弯路~
坑1:浮点数精度误差:0.1 + 0.2 不等于 0.3,而是 0.30000000000000004,这是浮点数的固有特性,不是代码错了!
坑2:字符串转浮点数,必须是纯数字:float("15.8") 正确,但 float("15.8元")、float("15a.8") 都会报错(含非数字字符)。
坑3:浮点数与整数判断相等,需谨慎:10.0 和 10 数值相等,但类型不同(一个float,一个int),用 == 判断是True,用 is 判断是False。
坑4:整除结果依然是浮点数:整数整除(//)结果是整数,但浮点数整除(//)结果还是浮点数(如10.5//2.5=4.0)。
# 重点避坑示例print(0.1 + 0.2) # 输出0.30000000000000004,不是0.3print(10.0 == 10) # 输出True(数值相等)print(10.0 is 10) # 输出False(类型不同)print(10.5 // 2.5)# 输出4.0(浮点数整除,结果还是浮点数)
📝 核心总结
浮点数(float):带小数的数值,包括小数部分为0的情况(如5.0);
定义方法:直接赋值、float()函数转换(重点)、科学计数法(了解);
核心坑:精度误差(0.1+0.2≠0.3)、字符串转浮点数需纯数字;
常用操作:数值运算、类型转换、判断类型,和整数操作基本一致。
其实浮点数不难,只要掌握好定义方法和避坑技巧,就能轻松上手~ 下一期我们继续解锁Python数据类型,带你搞定更复杂的数值操作!
✨ 小任务:试着用float()函数转换3个不同类型的数据,看看会不会报错,巩固今天的知识点哦~
看不懂代码,AI 给你挖坑你都不知道。