🐍

Python Singleton Class

2022/05/29に公開

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)
GitHubで編集を提案

Discussion