python3使用d

2024-10-04 07:39:08 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Python2.7,以下代码可以正常工作:

def AddHex(old_class):
   old_class.__hex__ = lambda self: 'I am a hex!'
   return old_class

@AddHex
class AClass(object):
   """'Empty' class"""
   pass

a = AClass()
print hex(a)

输出:

I am a hex!

使用Python3.6,我得到以下错误:

TypeError: 'AClass' object cannot be interpreted as an integer

如何使这段代码与python3.6兼容


Tags: lambda代码selfreturnobjectdefpassam
1条回答
网友
1楼 · 发布于 2024-10-04 07:39:08

你不能

在python3中,^{}查找返回整数的__index__函数。不能使用hex打印任意字符串

相关问题 更多 >