开发者

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

开发者 https://www.devze.com 2025-05-16 09:21 出处:网络 作者: 烛阴
目录一、python四大基本数据类型的“互转法则”字符串 → 整数/浮点数整数/浮点数 → 字符串布尔值的“隐藏规则”整数和浮点数的“自动升级”二、全网疯传的避坑指南!三、进
目录
  • 一、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(直接截断,非四舍五入!)  
        

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

        坑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!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)!

        0

        上一篇:

        没有了:下一篇

        精彩评论

        暂无评论...
        验证码 换一张
        取 消

        关注公众号