Python類的實現(單實例、初始化一次)

 注:先調用__new__方法,後通過__init__初始化。

class Char(object):
    __instance = None
    __flag = None

    def __new__(cls, name):
        if cls.__instance == None:
            cls.__instance = object.__new__(cls)
            return cls.__instance
        else:
            return cls.__instance

    def __init__(self, name):
        if Char.__flag == None:
            self.name = name
            Char.__flag = self.name


a = Char("A")
print(id(a))
b = Char("B")
print(id(b))
print(b.name)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章