英文文檔:
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'