I have a class Node
which I want it to have multiple constructors.
I was reading online about factory methods and apparently, it is the cleanest Pythonic way of implementing constructors. My class looks as follows so far:
class Node(object):
element = None
left = None
right = None
def __init__(self, element):
self.element = element
@classmethod
def tree(cos, element, left, right):
self.element = element
self.left = left
self.right = right
# return here
What am I supposed to return here though? All examples I saw online had only one assignment and they would return that very assignment. I have three assignments. What is appropriate to return here?
In a named constructor (factory method), you should create an object that you want to return. E.g.
Note that you don't need the class members, and having class members with the same name as instance members is a bad idea.