修改属性的首选方法

时间:2018-02-17 21:31:56

标签: python oop methods helper

我在我的班级中使用辅助方法来修改属性,并且可以看到几种方法来执行此操作。以下helper和相关methods中的任何一个是否有充分理由是首选或避免的?

class Test(object):

    def __init__(self, x, y):
        self.x = x
        self.y = y

    def _x_helper1(self):
        self.x += self.y

    def method1(self):
        # some other code...
        self._x_helper1()

    def _x_helper2(self, y):
        # some other code...
        self.x += y

    def method2(self):
        # some other code...
        self._x_helper2(self.y)

    def _x_helper3(self, y):
        # some other code...
        return y

    def method3(self):
        # some other code...
        self.x += self._x_helper3(self.y)

1 个答案:

答案 0 :(得分:0)

这个例子太抽象了。

仅添加obj.x + obj.y没有任何问题。如果您需要改变对象的状态,并且仅基于属性进行变异,请使用

def mutate(self):
    self.x += self.y