生成されるクラスインスタンスを常に一つにするシングルトンパターンを Python で実装します。 Python は Java みたいに “private static” みたいな修飾ができないし、どこで初期化すればいいのかもちょっと考える必要があります。 まずダメなパターンから。 class Sandwich: singleton = Sandwich() # これは NameError: name 'Sandwich' is not defined で失敗する。 Python ではこのスコープでインスタンスを生成しようとすると「クラスが定義されていない」として失敗します。 では __init__() メソッドはでしょうか。このアイデアもダメです。なぜなら __init__() メソッドの引数に渡される self はインスタンスですよね。 __init__() メソッドがコールされた時点で