类的单例模式

# 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)

  

                                                                   -------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值