Python 的内置函数 hex
Python 内建函数列表 > Python 的内置函数 hex
Python 的内置函数 hex()
用于将一个整数转换为以 “0x” 为前缀的小写十六进制字符串。该函数接受一个整数作为参数,并返回对应的十六进制字符串表示。
详细说明
-
函数语法:
hex(x)
x
:必须是一个整数对象(可以是 Python 的int
类型,或者实现了__index__()
方法的自定义对象)
-
返回值:
- 返回字符串类型,格式为
"0x"
开头,后面跟随十六进制数字(a-f 使用小写字母) - 例如:
hex(255)
返回'0xff'
- 返回字符串类型,格式为
-
参数要求:
- 如果传入非整数对象(如浮点数),会抛出
TypeError
异常 - 对于负数,返回其补码形式的十六进制表示
- 如果传入非整数对象(如浮点数),会抛出
-
示例用法:
print(hex(16)) # 输出:0x10 print(hex(-10)) # 输出:-0xa print(hex(0)) # 输出:0x0# 自定义类使用 __index__ 方法 class MyNumber:def __index__(self):return 100 print(hex(MyNumber())) # 输出:0x64
-
应用场景:
- 内存地址显示
- 颜色代码转换(RGB 转十六进制)
- 低级编程和硬件相关操作
- 数据校验和哈希值展示
-
注意事项:
- 若要转换为大写十六进制,可以结合
upper()
方法:hex(255).upper()
- 与
int()
函数配合可以实现十六进制字符串和整数之间的相互转换 - 从 Python 3.8 开始,
int
类型也提供了hex()
方法:(255).hex()
- 若要转换为大写十六进制,可以结合
-
底层实现:
- 实际调用的是该对象的
__hex__()
方法(如果存在) - 对于
int
类型,会直接返回其十六进制字符串表示
- 实际调用的是该对象的
-
相关函数:
bin()
:转换为二进制字符串oct()
:转换为八进制字符串format()
:提供更灵活的格式化选项(如format(255, "#04x")
)
这个函数在处理需要十六进制表示的场合非常有用,特别是与底层系统交互或需要展示内存数据时。