英文文檔:
hex(x)
Convert an integer number to a lowercase hexadecimal string prefixed with “0x”, for example
If x is not a Python int object, it has to define an index() method that returns an integer.
說明:
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'