gpt4 book ai didi

python - 在 Python 中创建我自己的 "integer"对象

转载 作者:太空狗 更新时间:2023-10-29 21:14:17 25 4
gpt4 key购买 nike

本质上我希望能够做类似的事情:

a = Integer(1)
a += 1
print a

当然还有打印数字二作为结果。我需要创建哪些方法才能在我的 Integer 类中获得此行为?

免责声明:我不打算将其用于“真实”,只是好奇。

最佳答案

这是一个简单且不完整的示例。查看方法 __sub____div__ 等。

class Integer(object):
def __init__(self, val=0):
self._val = int(val)
def __add__(self, val):
if isinstance(val, Integer):
return Integer(self._val + val._val)
return self._val + val
def __iadd__(self, val):
self._val += val
return self
def __str__(self):
return str(self._val)
def __repr__(self):
return 'Integer(%s)' % self._val

然后

n = Integer()
print n
m = Integer(7)
m+=5
print m

EDIT 修复了 __repr__ 并添加了 __iadd__。感谢@Keith 指出问题。编辑 修复了 __add__ 以允许整数之间的加法。

关于python - 在 Python 中创建我自己的 "integer"对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5604713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com