我有一个对象,该对象具有要更改的属性(foo,bar,baz)。我想知道直接在对象上改变属性状态的最佳实践是什么。我在下面概述了三个选项,并想知道围绕这种类型的设置是否有最佳实践。还是我想得太多?
class A:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
...
def so_something(self):
# Option 1 - directly access a,b,c on self and modify in place
self.mutate_args()
# Option 2 - pass in a,b,c and update them on self
self.mutate_args(self.a, self.b, self.c)
# Option 3 - pass in a,b,c, return the mutated values and save to the object.
self.a, self.b, self.c = self.mutate_args(
self.a, self.b, self.c)
任何想法都值得赞赏。