gpt4 book ai didi

python - 如何用 repr 重建对象?

转载 作者:行者123 更新时间:2023-11-28 21:41:21 27 4
gpt4 key购买 nike

除最后一部分外,我的代码运行完美。我想用 repr 函数重新创建对象,但它显然不起作用。我在这里和网上都试过了,但我还是很困惑。有什么方法可以做到吗?如果可以,语法是什么?

class Modulo(object):

def __init__(self, grondtal, waarde = 0):
self.grondtal = grondtal
self.waarde = waarde % grondtal

def __call__(self, m):
return Modulo(self.grondtal, m)

def __add__(self, other):
return Modulo(self.grondtal, self.waarde + other.waarde)

def __sub__(self, other):
return Modulo(self.grondtal, self.waarde - other.waarde)

def __mul__(self, other):
return Modulo(self.grondtal, self.waarde * other.waarde)

def __eq__(self, other):
return self.waarde == other.waarde and self.grondtal == other.grondtal

def __ne__(self, other):
return not self.__eq__(other)

def __str__(self):
return '[%s %% %s]' % (str(self.grondtal), str(self.waarde))

def __repr__(self):
return '%s' %Modulo(self.grondtal, self.waarde)

最佳答案

你可能想要这个:

def __repr__(self):
return "Modulo(%d,%d)" % (self.grondtal, self.waarde)

或者,更通用一点:

def __repr__(self):
return "%s(%d,%d)" % (self.__class__.__name__, self.grondtal, self.waarde)

例如:

>>> m = Modulo(3,2)
>>> repr(m)
'Modulo(3,2)'

关于python - 如何用 repr 重建对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44894261/

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