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"))
这个函数在处理需要十六进制表示的场合非常有用,特别是与底层系统交互或需要展示内存数据时。