I can't find a definitive answer for this. As far as I know, you can't have multiple __init__
functions in a Python class. So how do I solve this problem?
Suppose I have a class called Cheese
with the number_of_holes
property. How can I have two ways of creating cheese objects...
parmesan = Cheese(num_holes=15)
.number_of_holes
property: gouda = Cheese()
.I can think of only one way to do this, but this seems clunky:
class Cheese:
def __init__(self, num_holes=0):
if num_holes == 0:
# Randomize number_of_holes
else:
number_of_holes = num_holes
What do you say? Is there another way?