Python で複数のコンストラクタを定義することはできないのでしょうか? [重複] 質問する

Python で複数のコンストラクタを定義することはできないのでしょうか? [重複] 質問する

Python では、異なるシグネチャを持つ複数のコンストラクターを定義することはできないのでしょうか? できない場合、それを回避する一般的な方法は何ですか?

たとえば、クラスを定義したいとしますCity

someCity = City()または と記述できるようにしたいと思いますsomeCity = City("Berlin")。最初の記述ではデフォルトの名前の値を指定し、2 番目の記述ではそれを定義します。

ベストアンサー1

Java とは異なり、複数のコンストラクタを定義することはできません。ただし、コンストラクタが渡されない場合にデフォルト値を定義することはできます。

def __init__(self, city="Berlin"):
  self.city = city

おすすめ記事