hex()函数将整数转为十六进制字符串,如hex(255)返回'0xff',支持正数、负数和零,可与int(x,16)互转,常用于颜色值、内存地址等场景。
Python 中的 hex() 函数用于将一个整数转换为对应的十六进制字符串表示形式。返回值是一个以 '0x' 开头的字符串,表示这是一个十六进制数。
基本用法
hex() 只接受整数作为参数。正数、负数和零都可以处理。
- 正数:hex(255) 返回 '0xff'
- 负数:hex(-10) 返回 '-0xa'
- 零:hex(0) 返回 '0x0'
示例代码:
print(hex(255)) # 输出: 0xff
print(hex(-10)) # 输出: -0xa
print(hex(0)) # 输出: 0x0
与 int() 配合使用
如果你有一个十六进制字符串,可以使用 int() 函数将其转回整数,需指定进制为16。
示例:
hex_str = '0xff'
num = int(hex_str, 16)
print(num) # 输出: 255
也可以处理不带 '0x' 前缀的字符串:
print(int('ff', 16)) # 输出: 255
去除 '0x' 前缀
有时你只需要纯十六进制字符,可以使用字符串切片去掉前两个字符。
示例:
value = hex(255)
print(value[2:]) # 输出: ff
如果希望统一格式(如固定位数、大写等),可以结合 str.upper() 或 zfill() 使用:
print(hex(255)[2:].upper()) # 输出: FF
print(hex(10)[2:].zfill(4)) # 输出: 000a
常见用途
hex() 常用于以下场景:
- 查看内存地址或颜色值(如 RGB 颜色)
- 调试时观察整数的底层表示
- 与硬件、网络协议等底层系统交互
例如表示颜色:
r, g, b = 255, 100, 50
color_hex = f"#{r:02x}{g:02x}{b:02x}"
print(color_hex) # 输出: #ff6432
基本上就这些。hex() 是个简单但实用的函数,适合在需要十六进制输出时使用。注意它只支持整数,浮点数或字符串会报错。转换前确保数据类型正确。








