一文教你彻底掌握Python数据类型转换
作者:烛阴
Python的核心数据类型包括:int(整数),float(浮点数),str(字符串),bool(布尔值),本文整理了他们之前相互转换的方法,需要的可以了解下
一、Python四大基本数据类型的“互转法则”
Python的核心数据类型包括:int(整数)、float(浮点数)、str(字符串)、bool(布尔值)。以下是它们之间的转换秘籍:
字符串 → 整数/浮点数
# 字符串转整数
age = "25"
print(int(age)) # 输出:25
# 字符串转浮点数
price = "99.9"
print(float(price)) # 输出:99.9
# ⚠️ 大坑警告!非数字字符串会报错
try:
age = "twenty-five"
print(int(age)) # 报错:ValueError: invalid literal for int() with base 10: 'twenty-five'
except ValueError as e:
print(f"ValueError: {e}")
技巧:用try-except捕获异常,避免程序崩溃!
整数/浮点数 → 字符串
# 数字转字符串(拼接、日志输出必备)
num = 100
print(str(num) + "%") # 输出:100%
# 浮点数保留两位小数
pi = 3.1415926
print(f"{pi:.2f}") # 输出:3.14(推荐f-string格式化)
布尔值的“隐藏规则”
# 其他类型 → 布尔值(0、空值会转False!)
print(bool(0)) # False
print(bool("")) # False
print(bool([])) # False
print(bool("Hi")) # True
# 布尔值 → 整数(True=1,False=0)
print(int(True)) # 1
print(float(False))# 0.0
整数和浮点数的“自动升级”
# 整数和浮点数运算时,结果自动升级为float result = 5 + 3.14 print(result) # 8.14(类型为float) # 显式转换优先级 print(float(10)) # 10.0 print(int(8.88)) # 8(直接截断,非四舍五入!)
二、全网疯传的避坑指南!
坑1:input()输入默认是字符串,数学计算前必须转换!
user_input = input("请输入数字:") # 输入"123"
result = int(user_input) * 2
print(result) # 246
坑2:int()转换浮点数时直接丢弃小数,用round()四舍五入更靠谱!
print(int(9.99)) # 9 print(round(9.99)) # 10
坑3:bool("False")竟然是True!因为非空字符串即为True!
print(bool("False")) # True(字符串非空)
print(bool(0)) # False
三、进阶技巧:eval()函数与隐式转换
# eval()可解析字符串表达式,但慎用(安全风险)
expression = "3 + 4 * 2"
print(eval(expression)) # 11
# 隐式转换:if条件中的自动bool转换
data = []
if data:
print("有数据")
else:
print("空列表!") # 输出:空列表!
四、一张表格掌握所有转换关系
| 方法 | 说明 |
|---|---|
| int(x [,base ]) | 将x转换为一个整数 |
| float(x ) | 将x转换到一个浮点数 |
| complex(real [,imag ]) | 创建一个复数 |
| str(x ) | 将对象 x 转换为字符串 |
| repr(x ) | 将对象 x 转换为表达式字符串 |
| eval(str ) | 用来计算在字符串中的有效 Python 表达式,并返回一个对象 |
| tuple(s ) | 将序列 s 转换为一个元组 |
| list(s ) | 将序列 s 转换为一个列表 |
| chr(x ) | 将一个整数转换为一个字符 |
| unichr(x ) | 将一个整数转换为 Unicode 字符 |
| ord(x ) | 将一个字符转换为它的整数值 |
| hex(x ) | 将一个整数转换为一个十六进制字符串 |
| oct(x ) | 将一个整数转换为一个八进制字符串 |
到此这篇关于一文教你彻底掌握Python数据类型转换的文章就介绍到这了,更多相关Python数据类型转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
