为什么 Hex() 函数 returns 是一个字符串而不是一个 int 十六进制?

Why Does Hex() Function returns a string instead an int hex?

我不知道为什么 Hex 函数 returns 像 '0x41' 这样的字符串而不是 0x41

我需要将 ASCII 值转换为十六进制。但我想要 0x INT 格式,而不是 '0x' 字符串。

ascii = 360
hexstring = hex(ascii)
hexstring += 0x41  # i cant do this because hexstring is a string not a int hex

我怎样才能得到一个 int hex?? 谢谢

没有 int hex 对象。只有 替代语法 来创建整数:

>>> 0x41
65

您也可以使用 0o1010 来获得相同的值。或者使用0b1000001以二进制指定;它们都是完全相同的数值到Python;它们只是在您的代码中指定整数值的不同形式。

只需将 ascii 保留为一个整数,然后将您的十六进制表示法值与该整数相加:

>>> ascii = 360
>>> ascii += 0x41
>>> ascii
425

hex() 产生一个可以由 Python 程序以相同方式解释的字符串,通常在调试代码或快速演示输出时使用(但你应该使用 format(number, 'x') 如果您想生成不带 0x 前缀的最终用户输出)。不需要使用整数。