目录
- 一、python四大基本数据类型的“互转法则”
- 字符串 → 整数/浮点数
- 整数/浮点数 → 字符串
- 布尔值的“隐藏规则”
- 整数和浮点数的“自动升级”
- 二、全网疯传的避坑指南!
- 三、进阶技巧:eval()函数与隐式转换
- 四、一张表格掌握所有转换关系
一、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
捕获异常,避免程序崩溃!
整数/浮点数 &rajavascriptrr; 字符串
# 数字转字符串(拼接、日志输出必备) nuphpm = 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!python
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 python转换为字符串 |
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数据类型转换内容请搜索编程客www.devze.com栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论