Python十六进制到整数转换错误
81 这是正确的Python十六进制到整数转换错误,python,int,hex,Python,Int,Hex,81 这是正确的 >>> print(int(0x51)) 但为什么这是不正确的? I get ValueError:以10为基数的int()的文本无效:“0x51”是Python整数文本,它本身已经生成一个整数: >>> str = 51 >>> cmd = "0x%s" %(str) >>> print(int(cmd)) 详情请参阅:;这是hexinteger表单。对该整数对象调用int(),只会再次返回相同的整数
>>> print(int(0x51))
但为什么这是不正确的?
I get ValueError:以10为基数的int()的文本无效:“0x51”是Python整数文本,它本身已经生成一个整数:
>>> str = 51
>>> cmd = "0x%s" %(str)
>>> print(int(cmd))
详情请参阅:;这是hexinteger
表单。对该整数对象调用int()
,只会再次返回相同的整数值
您可以对前缀为0x
的字符串使用int()
,但需要告诉它使用0
作为基础:
>>> 0x51
81
0
是这里的特例;它告诉int()。从:
基数0表示将字符串精确解释为整数文本,因此实际基数为2、8、10或16
0x51
是一个Python整数文本,它本身已经生成一个整数:
>>> str = 51
>>> cmd = "0x%s" %(str)
>>> print(int(cmd))
详情请参阅:;这是hexinteger
表单。对该整数对象调用int()
,只会再次返回相同的整数值
您可以对前缀为0x
的字符串使用int()
,但需要告诉它使用0
作为基础:
>>> 0x51
81
0
是这里的特例;它告诉int()。从:
基数0表示将字符串精确解释为整数文本,因此实际基数为2、8、10或16
0x51
已经是一个整数(以十六进制表示),51
也是一个整数,但具有不同的值。0x51
已经是一个整数(以十六进制表示),51
也是一个整数,但具有不同的值。