为了账号安全,请及时绑定邮箱和手机立即绑定

“对象不能解释为整数”

“对象不能解释为整数”

小怪兽爱吃肉 2021-03-29 13:15:40
我有一个带有用于返回整数的函数的库,但是现在将返回我定义的“字段”类的对象。我希望此类的行为尽可能接近整数,以保持与使用该库的脚本的兼容性,尽管int由于值需要可变,所以我无法扩展。所以我定义__int__(),__add__(),__radd__()等,希望没有人会察觉该函数不再返回一个普通整数。但是,这并没有按照我的计划进行,因为几个内置函数现在会引发“ TypeError:'field'对象无法解释为整数”。(例如hex()。)对此我能做些什么,以便可以将我的类“解释为整数”?对于任何想知道为什么需要进行此更改的人,我提到的__getitem__()功能就是另一个代表这些“字段”集合的类(“块”)的功能。“ block”的对象用作评估诸如的表达式的locals参数,我希望可以在这些表达式中使用字段的其他属性。eval()field1 + field2
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 202 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信