在它自己的方法中增加int的子类的实例?

时间:2013-05-12 18:36:02

标签: python class immutability increment addition

我从int继承了一个类,我正在尝试创建一个方法来增加方法中实例的值:

class MyInt(int):
    def my_method(self, value):
        #do_stuff()
        self += value

我知道你不能将self设置为方法内的任何其他东西,它肯定会在方法内部改变,但实际的实例不会改变。 但是,我不知道如何解决这个问题,以便实际的实例会改变,所以它甚至可能吗?如果是,那怎么办?

1 个答案:

答案 0 :(得分:0)

似乎最好的办法是让MyInt不从int继承,而是在实例变量中存储一个int。所以你会得到一个getValue()方法和一个setValue()方法。

class MyInt()
    def __init__(self, value):
        self.value = value
    def getValue(self):
        return self.value
    def setValue(self, value):
        self.value = value