Python
で複数のコンストラクタを実装するには、クラスメソッドを使う方法が推奨されています。例えば、Cheese
クラスでは、random
やslightly_holey
といったメソッドで異なる初期化方法を提供できます。
class Cheese:
def __init__(self, num_holes=0):
self.number_of_holes = num_holes
@classmethod
def random(cls):
return cls(randint(0, 100))
@classmethod
def slightly_holey(cls):
return cls(randint(0, 33))
これにより、複数のコンストラクタのように異なる方法でオブジェクトを生成できます。