为什么Hex()函数返回一个字符串而不是一个int hex?

Dar*_*yys 2 python string int hex ascii

我不知道为什么Hex函数返回一个像'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
Run Code Online (Sandbox Code Playgroud)

我怎么能得到一个int hex?谢谢

Mar*_*ers 7

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

>>> 0x41
65
Run Code Online (Sandbox Code Playgroud)

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

只需保存ascii为整数,并将十六进制表示法值与其相加:

>>> ascii = 360
>>> ascii += 0x41
>>> ascii
425
Run Code Online (Sandbox Code Playgroud)

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