hex() 函数有助于将给定数字转换为其相应的十六进制字符串格式。返回的十六进制字符串必须带有前缀 '0x'。
hex(number) #Where number shows a integer number
只接受一个参数。如果我们将一个对象作为参数传递给 hex() 函数,该对象必须定义 __index__() 函数,该函数返回一个整数。
| 参数 | 描述 | 必需/可选 |
|---|---|---|
| 对象 | 整数对象或必须定义返回整数的 __index__() 方法 | 可选 |
| 整数 | 可以是任何进制,例如二进制、八进制等 | 可选 |
获取浮点数的十六进制表示需要使用 float.hex() 方法。
| 输入 | 返回值 |
|---|---|
| 整型 | 十六进制格式 |
| float | 十六进制格式 |
| 对象 | 十六进制格式 |
number = 435
print(number, 'in hex =', hex(number))
number = 0
print(number, 'in hex =', hex(number))
number = -34
print(number, 'in hex =', hex(number))
returnType = type(hex(number))
print('Return type from hex() is', returnType)
输出
435 in hex = 0x1b3 0 in hex = 0x0 -34 in hex = -0x22 Return type from hex() is
number = 2.5
print(number, 'in hex =', float.hex(number))
number = 0.0
print(number, 'in hex =', float.hex(number))
number = 10.5
print(number, 'in hex =', float.hex(number))
输出
2.5 in hex = 0x1.4000000000000p+1 0.0 in hex = 0x0.0p+0 10.5 in hex = 0x1.5000000000000p+3
class Data:
id = 0
def __index__(self):
print('__index__ function called')
return self.id
d = Data()
d.id = 100
print(hex(d))
输出
__index__ function called 0x64