0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Pythonでシングルトンパターン

Posted at

クラスにシングルトンパターンを実装するSingletonMetaメタクラスと、これを適用したMySingletonクラスのコード例。

ex_meta_singleton.pyt
class SingletonMeta(type):
    def __init__(cls, name, bases, disc, **kwargs):
        cls.__instance = name

    def __call__(cls, *args, **kwargs):
        if cls.__instance is None:
            cls.__instance = super().__call__(*args, **kwargs)
        return cls.__instance

class MySingleton(metaclass = SingletonMeta):
    pass

独習python 第11章オブジェクト指向構文 より引用

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?