python中的hex函数,hex()Python

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: