英文文档:
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 "", line 1, in 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 "", line 1, in 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'
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网