Я не могу найти окончательный ответ на это. Насколько я знаю, вы не можете иметь несколько функций __init__
в классе Python. Так как мне решить эту проблему?
Предположим, у меня есть класс с именем Cheese
со свойством number_of_holes
. Как у меня может быть два способа создания сырных объектов...
- Тот, который занимает несколько таких отверстий:
parmesan = Cheese(num_holes = 15)
- И тот, который не принимает аргументов и просто рандомизирует свойство
number_of_holes
:gouda = Cheese()
Я могу придумать только один способ сделать это, но это кажется неуклюжим:
class Cheese():
def __init__(self, num_holes = 0):
if (num_holes == 0):
# randomize number_of_holes
else:
number_of_holes = num_holes
Что ты говоришь? Есть ли другой способ?