修改属性的首选方式
preferred way to modify attributes
我在 class 中使用辅助方法来修改属性,并且可以看到几种方法来执行此操作。以下任何 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)
这个例子太抽象了。
添加 obj.x + obj.y
没有错。如果你需要改变对象的状态,并且你只根据属性改变,使用
def mutate(self):
self.x += self.y
我在 class 中使用辅助方法来修改属性,并且可以看到几种方法来执行此操作。以下任何 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)
这个例子太抽象了。
添加 obj.x + obj.y
没有错。如果你需要改变对象的状态,并且你只根据属性改变,使用
def mutate(self):
self.x += self.y