Python进制转换:语法写法与内置函数详解

沈知远
沈知远
发布时间:2026-10-12 | 2人浏览过
原创

本文详细解析Python中八进制、十六进制和二进制的字面量书写规范,系统演示oct、hex、bin、int等核心内置函数的用法,并结合字符串格式化技巧,提供安全的数值转换方案与常见报错排查指南。

Python不同进制的字面量书写规范

在Python中,整数可以直接使用前缀标识来声明不同进制的数值。现代Python遵循统一的语法规范:

  • 八进制(Octal):以 0o 或 0O 开头,例如 0o377 等价于十进制的 255。
  • 十六进制(Hex):以 0x 或 0X 开头,例如 0xFF 等价于十进制的 255。
  • 二进制(Binary):以 0b 或 0B 开头,例如 0b11111111 等价于十进制的 255。

核心进制转换函数与输出控制

第1步:使用内置函数快速获取目标进制表示

若需将已知十进制整数转为其他进制的字符串形式,可直接调用对应的内置函数。这些函数均返回带有前缀的字符串对象,便于后续拼接或展示。

>>> oct(255), hex(255), bin(255)
('0o377', '0xff', '0b11111111')

第2步:将字符串安全转换为十进制整数

当需要解析外部输入或配置文件中的进制字符串时,int() 是最可靠的方法。它支持通过第二个 base 参数显式指定原字符串的进制基数,默认基为 10。

>>> int('255')
255
>>> int('0xFF', 16)
255

执行此操作时,若传入非目标基数的字符组合(如用 base=16 解析包含字母 G 的字符串),解释器会抛出 ValueError,此时需核对原始数据格式是否符合该进制规则。

第3步:利用格式化语法指定输出进制形态

除了内置函数,Python 提供了成熟的字符串格式化方案,可在同一行直接输出多进制结果。推荐使用 .format() 或百分号格式化替代 eval(),以避免执行非预期代码的安全隐患。

# 使用 format 方法(o代表八进制,x代表小写十六进制,b代表二进制)
'{0:o}, {1:x}, {2:b}'.format(255, 255, 255)
# 输出: '255, ff, 11111111'

# 使用百分号占位符格式化
'%o, %x, %X' % (255, 255, 255)
# 输出: '377, ff, FF'

简要总结

以上就是Python进制语法与转换方法的详细内容,更多关于Python基础数据处理与类型转换的资料请关注本站其它相关文章!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表