您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么使用hex()在python中轉換進制,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
運算中的兩種進制相信大家都不陌生,那就是十進制和十六進制。在操作中我們會根據不同的使用條件進行進制之間的轉換。這里小編最近學習了一個內置函數,是專門針對進制轉換使用的。
一、說明:
1. 函數功能將10進制整數轉換成16進制整數。
>>> hex(15) '0xf' >>> hex(16) '0x10'
2. 如果參數x不是整數,則它必須定義一個返回整數的__index__函數。
# 未定義__index__函數 >>> class Student: def __init__(self,name,age): self.name = name self.age = age >>> >>> s = Student('Kim',10) >>> hex(s) Traceback (most recent call last): File "<pyshell#17>", line 1, in <module> hex(s) TypeError: 'Student' object cannot be interpreted as an integer # 定義__index__函數,但是返回字符串 >>> class Student: def __init__(self,name,age): self.name = name self.age = age def __index__(self): return self.name >>> s = Student('Kim',10) >>> hex(s) Traceback (most recent call last): File "<pyshell#23>", line 1, in <module> hex(s) TypeError: __index__ returned non-int (type str) # 定義__index__函數,并返回整數 >>> class Student: def __init__(self,name,age): self.name = name self.age = age def __index__(self): return self.age >>> s = Student('Kim',10) >>> hex(s) '0xa'
二、轉為十六進制(Hex)字符串
def getStringFromNumber(self,size,value): """ 轉為十六進制(Hex)字符串 :param size: :param value: :return: """ size=int(size) value=int(value) by = bytearray([]) for i in range(1,size+1): val = value >> 8 * (size - i) & 255 by.append(val) val = by.hex() print("===============================") print("%s轉為%s個字節(jié)十六進制(Hex)字符串:%s"%(value,size,val)) print("===============================") return val getStringFromNumber(5,11)
感謝你能夠認真閱讀完這篇文章,希望小編分享怎么使用hex()在python中轉換進制內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。