Python hex() 函数

Python hex() 语法

hex() 是 Python 的一个内置函数,它用于将其他进制整数转换为十六进制整数。其中,hex 是 “hexadecimal(十六进制)” 的缩写。

语法:

hex(x)

说明:

hex() 接收单个参数。

  • x(必选):必须是一个整数,它可以是任意其他进制的整数(如 10 进制、8 进制、16 进制等),或实现了 __index__() 方法的对象。

hex() 函数返回的是一个字符串,该字符串包含整数参数的十六进制表示,前缀为 “0x”。如果你不想要这个前缀,可以使用字符串切片(如 hex(x)[2:])或 format() 方法(如 '{:x}'.format(x))。

注意:

  • hex() 函数返回的是一个字符串,而不是一个数字类型。
  • 对于负数,hex() 的行为与 bin()oct() 类似,通常会返回一个带负号的字符串,后跟其绝对值的十六进制表示。

Python hex() 摘要

使用频率
官方文档 查看

Python hex() 示例

接下来,我们通过几个简单的例子来讲解一下 Python hex() 函数是如何使用的。

示例 1:hex() 基本用法

result = hex(10)
print(result)
print(type(result))

运行结果如下。

0xa
<class 'str'>

示例 2:hex() 将其他进制转为十六进制

# “十进制” 转十六进制
print(hex(25))

# “二进制” 转十六进制
print(hex(0b1010))

# “八进制” 转十六进制
print(hex(0o16))

运行结果如下。

0x19
0xa
0xe

分析:

“0b” 开头的数字代表的是 “二进制数”,b 是 “Binary” 的缩写。“0o” 开头的数字代表的是 “八进制数”,o 是 “octal” 的缩写。

深入了解 hex()

如果参数不是一个整数(即 int 对象),那么执行 hex() 函数就会抛出 TypeError 异常。当然了,你也可以在类中自定义 __index__() 方法并返回一个整数,那么执行 hex() 函数就会返回该整数。

提示: bin()、oct()、hex() 这 3 个函数都有以上相同的特征。

示例 3:hex() 的参数不是整数

s = 'lvyenet'
result = hex(s)
print(result)

运行结果如下。

(报错) TypeError: 'str' object cannot be interpreted as an integer

示例 4:定义对象的 __index__() 方法

class MyType:
    def __index__(self):
        return 0
a = MyType()
print(hex(a))

运行结果如下。

0x0

Python 进制转换函数

对于 Python 来说,有以下 4 个进制转换函数。

  • bin():将其他进制整数转换为 2 进制整数。
  • oct():将其他进制整数转换为 8 进制整数。
  • hex():将其他进制整数转换为 16 进制整数。
  • format():将值格式化为特定格式的字符串。
Python 进制转换函数对比
函数 前缀 输入 输出
bin() 0b 15 '0b1111'
oct() 0o 15 '0o17'
hex() 0x 15 '0xf'
format() 15 '1111'(使用 'b' 时)

上一篇: oct()

下一篇: ascii()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号