一文教你彻底掌握Python数据类型转换

 更新时间:2025年05月14日 08:17:38   作者:烛阴  
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(直接截断,非四舍五入!)  

二、全网疯传的避坑指南!

坑1input()输入默认是字符串,数学计算前必须转换!

user_input = input("请输入数字:")  # 输入"123"  
result = int(user_input) * 2  
print(result)  # 246  

坑2int()转换浮点数时直接丢弃小数,用round()四舍五入更靠谱!

print(int(9.99))   # 9  
print(round(9.99)) # 10  

坑3bool("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数据类型转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Python制作新型冠状病毒实时疫情图

    使用Python制作新型冠状病毒实时疫情图

    最近被新型冠状病毒搞的人心惶惶,很多城市被病毒感染,今天小编给大家分享使用Python制作新型冠状病毒实时疫情图,感兴趣的朋友跟随小编一起看看吧
    2020-01-01
  • Python脚本实现Mysql数据迁移

    Python脚本实现Mysql数据迁移

    MySQL数据库迁移是指将MySQL数据库中的数据和结构迁移到另一个MySQL实例,下面小编就来为大家介绍一下如何通过Python脚本实现Mysql数据迁移吧
    2025-03-03
  • python机器学习Github已达8.9Kstars模型解释器LIME

    python机器学习Github已达8.9Kstars模型解释器LIME

    这篇文章主要为大家介绍了Github已达8.9Kstars的最佳模型解释器LIME的使用示例及功能详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • python之class类和方法的用法详解

    python之class类和方法的用法详解

    这篇文章主要介绍了python中class类和方法的用法详解,如果有不太清楚面向对象的类和方法的编程思想的小伙伴可以借鉴参考本文
    2023-03-03
  • Python实现针对给定字符串寻找最长非重复子串的方法

    Python实现针对给定字符串寻找最长非重复子串的方法

    这篇文章主要介绍了Python实现针对给定字符串寻找最长非重复子串的方法,涉及Python针对字符串的遍历、排序、计算等相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • 解决python中文乱码问题方法总结

    解决python中文乱码问题方法总结

    这篇文章主要介绍了解决python中文乱码问题方法总结,需要的朋友可以参考下
    2021-05-05
  • PyQT5速成教程之Qt Designer介绍与入门

    PyQT5速成教程之Qt Designer介绍与入门

    这篇文章主要介绍了PyQT5速成教程之Qt Designer介绍与入门,本文以PyCharm为例通过实例代码图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • python通过socket搭建极简web服务器的实现代码

    python通过socket搭建极简web服务器的实现代码

    python的web框架众多,常见的如django、flask、tornado等,其底层是什么还是有些许的疑问,所以查找相关资料,实现浏览器访问,并返回相关信息,本文将给大家介绍python通过socket搭建极简web服务器,需要的朋友可以参考下
    2023-10-10
  • 用Python实现服务器中只重载被修改的进程的方法

    用Python实现服务器中只重载被修改的进程的方法

    这篇文章主要介绍了用Python实现服务器中只重载被修改的进程的方法,包括用watchdog来检测文件的变化等,实现起来充分体现了Python作为动态语言的灵活性,强烈推荐!需要的朋友可以参考下
    2015-04-04
  • django框架面向对象ORM模型继承用法实例分析

    django框架面向对象ORM模型继承用法实例分析

    这篇文章主要介绍了django框架面向对象ORM模型继承用法,结合实例形式分析了Django框架ORM模型抽象类继承、多表继承及代理模型继承三种继承方式实现技巧,需要的朋友可以参考下
    2019-07-07

最新评论