python中的hex函数,hex()Python
相信大家都熟悉运算中的两个十进制,即十进制和十六进制。在操作中,我们会根据不同的使用条件,在二进制之间进行转换。边肖最近在这里学习了一个内置函数,专门用于十进制转换。我们先对hex()函数做一个简单的概念性了解,然后学习python中hex()转换成decimal的方法。
一、说明:
1.Function函数将十进制整数转换为十六进制整数。
十六进制(15)
0xf
十六进制(16)
0x10
2.如果参数x不是整数,它必须定义一个返回整数的__index__函数。
#未定义__index__函数
班级学生:
def__init__(自己,姓名,年龄):
self.name=name
年龄=年龄
snbsp
;=Student('Kim',10)
>>>hex(s)
Traceback(mostrecentcalllast):
File"<pyshell#17>",line1,in<module>
hex(s)
TypeError:'Student'objectcannotbeinterpretedasaninteger
#定义__index__函数,但是返回字符串
>>>classStudent:
def__init__(self,name,age):
self.name=name
self.age=age
def__index__(self):
returnself.name
>>>s=Student('Kim',10)
>>>hex(s)
Traceback(mostrecentcalllast):
File"<pyshell#23>",line1,in<module>
hex(s)
TypeError:__index__returnednon-int(typestr)
#定义__index__函数,并返回整数
>>>classStudent:
def__init__(self,name,age):
self.name=name
self.age=age
def__index__(self):
returnself.age
>>>s=Student('Kim',10)
>>>hex(s)
'0xa'
二、转为十六进制(Hex)字符串
defgetStringFromNumber(self,size,value):"""
转为十六进制(Hex)字符串
:paramsize:
:paramvalue:
:return:
"""
size=int(size)
value=int(value)
by=bytearray([])
foriinrange(1,size+1):
val=value>>8*(size-i)&255
by.append(val)
val=by.hex()
print("===============================")
print("%s转为%s个字节十六进制(Hex)字符串:%s"%(value,size,val))
print("===============================")
returnval
getStringFromNumber(5,11)
以上就是使用hex()在python中转换进制的方法,想要把十进制转换的小伙伴可以试试这种方法,更重要的是hex()会以字符串的形式展现出来。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。