🐍
Python Singleton Class
PythonでSingleton Classを作る
クラス変数は、全てのインスタンスで共通。
クラス変数_instanceに自分のインスタンスを保存しておいて、new()が呼ばれたら、新しいインスタンスを作らずに_instanceを返す。
class SingletonClass():
_instance = None
def __new__(cls, *args, **kargs):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance
テスト
if __name__ == '__main__':
singletonClass_1 = SingletonClass()
singletonClass_2 = SingletonClass()
print(singletonClass_1._instance)
print(singletonClass_2._instance)
Discussion