类方法__iadd__是否应始终保留类型类?

时间:2019-05-15 04:58:03

标签: python methods

我一直在寻找一个明确的答案,但最接近的结果是在python文档here中。它说:

  

这些[增强的算术赋值]方法应尝试就地进行操作(修改self)并返回结果(可以是,但不一定是self)。

暗示自身(和类型)没有变化,但是实际上由类开发人员确定还是应该尝试始终保持类型?

我知道应该是一个意见问题。我正在寻找的是对预期结果有更好记录的证据。

参加下面的课程NumString

class NumString:
    """A class where the number is represented as a string.

    other methods omitted for brevity.
    """
    def __init__(self, value):
        self.value = str(value)

    def __str__(self):
        return self.value

    def __int__(self):
        return int(self.value))

    def __add__(self, other):
        if '.' in self.value:
            return float(self) + other
        return int(self) + other

    def __iadd__(self, other):
        self.value = str(self + other)
        return self

0 个答案:

没有答案