类的单例模式
# new:创建对象自动调用 # new原理:返回值,返回值对象,当前类 -- 条件满足了 init # 实例对象 -- instance class Person(object): cls_shuxing = None # 控制只做一次初始化的开关 -- 开关打开 -- 表示判断 is_First = True def __new__(cls, *args, **kwargs): if cls.cls_shuxing == None: # 创建对象 -- new cls.cls_shuxing = super().__new__(cls) return cls.cls_shuxing def __init__(self, name,age, sex,id): if self.is_First == True: # 实现只做一次初始化 self.name = name self.age = age self.sex = sex self.id = id # 关掉开关 self.is_First = False def __str__(self): return '名字是%s,年龄是%s,性别是%s,id是%s' % (self.name, self.age, self.sex, self.id) dafan = Person('大凡', 18, '女',id=100) print(dafan) erfan = Person('二凡', 20, '男', id=110) print(erfan)