确保某一个类中只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,单例模式是一种对象型模式。
方法一:
class User(object): __instance =None def __init__(self,name): self.name = name @classmethed def get_instance(cls,name): if not cls.__instance: cls.__instance = User(name) return cls.instance #u1 = User("zs") #u2 = User("ls") u1 = User.get_instance("zs") u2 = User.get_instance("ls") print(u1==u2) # ==判断这两个对象是一个对象,并且内存地址相同 print(u1.name,u2.name) True zs zs方法二:
class User(object): __instance = None def __init__(self,name): self.name = name def __new__(cls,name): if not cls.__instance: cls.__instance = object.__new__(cls) return cls.__instance u1 = User("zs") u2 = User("ls") print(u1==u2) # ==判断这两个对象是一个对象,并且内存地址相同 print(u1.name,u2.name) True ls ls