I want to pass variables to the method. which of the following is better? (x and y are constants)
class Class(Parent): def __init__(self): super().__init__() self.d = self.function() def function(self): return self.x + self.y
or:
class Class(Parent): def __init__(self): super().__init__() self.d = self.function(self.x,self.y) def function(self, x, y): return x + y
Advertisement
Answer
I’d argue the second one is better with regards to function purity, though this is a principle of Functional Programming rather than Object Oriented Programming. The only thing I’d wonder then is why you’d even make it a member method at all, instead of a stand-alone function.