python设计模式实例(单例模式1)

1. 例子使用 Python3.6 实现

# -*- coding: utf-8 -*-
'''
Author :  www.oldpai.com
Date : 2018/5/20
Desc :1. 只允许Singleton 类生成一个实例 2. 如果已经有一个实例了,会重复提供同一个实例
'''

class Singleton(object):
    def __new__(cls, *args, **kwargs):
        if not hasattr(cls,'instance'):
            cls.instance = super(Singleton, cls).__new__(cls)
        return cls.instance

s1 = Singleton()
print("实例s1内存地址:",s1)
s2 = Singleton()
print("实例s1内存地址:",s2)

这里写图片描述

2.  __new__函数回顾
#_new__函数使用:新式类,是在init函数之前进行执行,默认的静态方法
# cls当前需要实例化的类

def __new__(cls, *args, **kwargs):
    pass

自己学习过程中作为笔记使用,如果错误欢迎大家指出,谢谢。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值