Вы не можете определить несколько инициализаторов в Python (как указано в комментариях, __init__
на самом деле не является конструктором ), но вы можете определить значения по умолчанию, например:
def __init__(self, size=8):
self.buffer = [1] * size
В приведенном выше коде по умолчанию создается буфер размером 8, но если указан параметр размера, вместо него будет использоваться параметр.
Например, предположим, что инициализатор находится внутри классаназывается Example
.Этот вызов создаст новый экземпляр класса с буфером размера 8 (по умолчанию):
e = Example()
Тогда как этот вызов создаст новый экземпляр с буфером размера 10:
e = Example(10)
Кроме того, вы также можете вызвать конструктор следующим образом:
e = Example(size=10)