Nie można zdefiniować wiele inicjatorów w Pythonie (jak wskazano w uwagach, __init__
is not really a constructor), ale można określić wartości domyślne, na przykład:
def __init__(self, size=8):
self.buffer = [1] * size
W powyższym kodzie, bufor o wielkości 8 utworzone domyślnie, ale jeśli określono parametr wielkości, parametr zostanie użyty zamiast tego.
Załóżmy na przykład, że inicjalizator znajduje się w klasie o nazwie Example
. Ta rozmowa będzie utworzyć nową instancję klasy z buforem o rozmiarze 8 (domyślnie):
e = Example()
niniejsze wezwanie stworzy nową instancję z buforem o rozmiarze 10:
e = Example(10)
Alternatywnie można również wywołać konstruktora w następujący sposób:
e = Example(size=10)
Nie masz dwa konstruktory, drugi nadpisuje pierwszy. – u0b34a0f6ae