シロのPythonのデザインモデル

926 ワード

1.Python単例設計モード目的:クラスに作成されたオブジェクトは、システム内で唯一のインスタンスしかない
インスタンスオブジェクトを作成するたびに、メモリアドレスは同じです.
'''

      

    

1.   __new__             

2.     None               ,

   None        ,  instance                 

                

   

1.  __init__  ,       

2.      Flase init_flag               

         

    ,          init_flag   True

'''

class InstanceClass(object):

    instance = None

    init_flag = False

    def __new__(cls, *args, **kwargs):

        if  cls.instanceis None:

            cls.instance= super().__new__(cls)

        return  cls.instance

    def __init__(self):

        # 1.       

        if  InstanceClass.init_flag:

            return

        # 2.     

        print("   ")

        # 3.              True

        InstanceClass.init_flag= True

objA = InstanceClass()

objB = InstanceClass()

print(objA,objB)

未完待機・・・