Python 的 int() 函数可通过 base=16 将十六进制字符串(支持 0x 前缀及大小写字母)转为十进制整数,非法输入抛 ValueError,亦可批量转换或封装安全函数。

Python 的 int() 函数可以直接将十六进制字符串转换为十进制整数,只需指定 base=16 即可。 它支持带 0x 前缀和不带前缀的十六进制字符串,自动识别并处理大小写字母(a–f 或 A–F)。
int() 的第二个参数 base 设为 16,就能把合法的十六进制表示转成十进制整数:
int("FF", 16) → 返回 255
int("1a", 16) → 返回 26(不区分大小写)int("0xFF", 16) → 返回 255(支持 0x 前缀)int("0XABCD", 16) → 返回 43981
传入非法字符或格式会触发 ValueError,需注意以下几点:
"A B" 或 "G1" 报错)"" 或只有前缀如 "0x" 会报错0x 不是必须的,但若写了就必须小写 x(0X 也支持;0h 或 0H 不行)"-FF" → -255,但 "0x-FF" 是非法的处理多个值时,可结合列表推导式或封装成函数提升可读性:
立即学习“Python免费学习笔记(深入)”;
[int(x, 16) for x in ["10", "FF", "a0"]] → [16, 255, 160]
def hex_to_int(s):
try:
return int(s.strip(), 16)
except (ValueError, AttributeError):
return None调用 hex_to_int(" 0x1F ") 返回 31,无效输入返回 None。
int() 是通用进制解析函数,不只是用于十六进制:
int("1010", 2) → 10(二进制转十进制)int("17", 8) → 15(八进制转十进制)int("Z", 36) → 35(36 进制中 Z 表示 35)只要 base 在 2–36 范围内,且字符串只含该进制允许的字符,int() 都能正确解析。
以上就是Python int函数实现16进制转10进制代码示例【教程】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号