python实现一个单例模式

    单例模式即一个类有且仅有一个实例,比如宇宙只有一个地球。python中,一个类创建对象实例是通过调用父类object的__new__(cls)方法来创建对象的。

   

'''
实现一个单例模式
'''


class Earth(object):
    __instance = None  # 定义一个类属性做判断

    def __new__(cls):

        if cls.__instance == None:

            # 如果__instance为空证明是第一次创建实例

            # 通过父类的__new__(cls)创建实例

            cls.__instance = object.__new__(cls)

            return cls.__instance

        else:

            # 返回上一个对象的引用

            return cls.__instance


a = Earth()

print(id(a))

b = Earth()

print(id(b))

 

你可能感兴趣的:(python)