Python 新手必看数据类型与类型转换完全指南刚学 Python被int、str、float绕晕了别担心这篇教程用最通俗的语言带你彻底搞懂 Python 的数据类型和类型转换。一、为什么数据类型很重要在编程世界里数据就是一切。但数字123和文本123是完全不同的东西——前者可以做数学运算后者只是一串字符。数据类型就是 Python 给每个数据贴上的标签告诉计算机这个数据该怎么存储、能做什么操作。二、Python 的六大基础数据类型1. 整数int就是我们数学里的整数没有小数点。age 18 year 2026 temperature -5 print(type(age)) # class int2. 浮点数float带小数点的数字。price 19.99 pi 3.14159 height -1.75 print(type(price)) # class float注意1.0虽然是整数数值但因为有小数点Python 会把它当作float。3. 字符串str文本数据必须用引号包裹单引号、双引号都可以。name Alice message 你好Python empty # 空字符串也是字符串 print(type(name)) # class str字符串还可以用三引号写多行poem 床前明月光 疑是地上霜。4. 布尔值bool只有两个值True真和False假。is_student True has_money False print(type(is_student)) # class bool布尔值常用于条件判断比如if语句。5. 空值NoneType表示什么都没有只有一个值None。result None print(type(result)) # class NoneType常用于初始化变量或表示函数没有返回值。6. 复数complex新手很少用到知道有这个东西就行。c 3 4j print(type(c)) # class complex三、如何查看数据类型Python 提供了两个常用工具①type()函数最直接的方式print(type(100)) # class int print(type(100)) # class str print(type(3.14)) # class float print(type(True)) # class bool②isinstance()函数用于判断某个数据是否是指定类型返回布尔值print(isinstance(100, int)) # True print(isinstance(100, int)) # False print(isinstance(3.14, (int, float))) # True可以是多种类型之一isinstance()在写条件判断时特别有用比如先判断类型再决定怎么处理数据。四、数据类型转换很多时候我们需要把一种类型变成另一种类型。比如用户输入的是字符串18但我们需要把它当成数字来计算年龄。1. 显式转换强制转换Python 提供了几个内置函数表格函数作用示例int()转成整数int(10)→10float()转成浮点数float(3.14)→3.14str()转成字符串str(100)→100bool()转成布尔值bool(1)→Truelist()转成列表list(abc)→[a,b,c]常见转换示例# 字符串 → 整数 age_str 18 age_int int(age_str) print(age_int 2) # 20 # 整数 → 字符串 num 100 num_str str(num) print(编号 num_str) # 编号100 # 整数 → 浮点数 a 5 b float(a) print(b) # 5.0 # 浮点数 → 整数直接截断小数不是四舍五入 c 3.99 d int(c) print(d) # 3布尔值的转换规则# 数字转布尔0 是 False其他都是 True print(bool(0)) # False print(bool(-5)) # True print(bool(3.14)) # True # 字符串转布尔空字符串是 False其他都是 True print(bool()) # False print(bool(hello)) # True # None 转布尔 print(bool(None)) # False2. 隐式转换自动转换Python 会在某些运算中自动转换类型不需要你手动操作。# 整数 浮点数 → 自动变成浮点数 result 5 3.2 print(result) # 8.2 print(type(result)) # class float # 布尔值参与数学运算时True1, False0 print(True 5) # 6 print(False * 10) # 0⚠️注意隐式转换只发生在不会丢失信息的情况下。字符串和数字之间不会自动转换。五、新手最常踩的坑❌ 坑 1字符串和数字直接相加age 18 print(我今年 age 岁) # ❌ 报错原因Python 不允许字符串和数字直接拼接。解决# 方法1转换成字符串 print(我今年 str(age) 岁) # 方法2用 f-string推荐最优雅 print(f我今年{age}岁)❌ 坑 2int()转换浮点字符串报错pi 3.14 print(int(pi)) # ❌ 报错ValueError原因int()不能直接转换带小数的字符串。解决# 先转 float再转 int print(int(float(pi))) # 3❌ 坑 3空字符串转整数print(int()) # ❌ 报错ValueError解决转换前先判断s if s: num int(s) else: num 0❌ 坑 4float转int不是四舍五入print(int(2.9)) # 2不是 3解决需要四舍五入用round()print(round(2.9)) # 3 print(round(2.4)) # 2六、一张图记住类型转换┌──────────┐ │ 字符串 │◄────────┐ │ 123 │ │ └────┬─────┘ │ │ str() │ int()│ float() │ ▼ │ ┌──────────┐ │ │ 整数 │ │ │ 123 │◄───────┤ └────┬─────┘ │ │ float() │ ▼ │ ┌──────────┐ │ │ 浮点数 │ │ │ 123.0 │────────┘ └──────────┘ str()七、总结表格数据类型英文示例特点整数int42,-7没有小数点浮点数float3.14,-0.5有小数点字符串strhello用引号包裹布尔值boolTrue,False只有两种值空值NoneTypeNone表示无记住三个核心函数type(x)—— 查看类型isinstance(x, type)—— 判断类型int()/float()/str()—— 转换类型