单例:是指创建对象时,在同一个类中只能访问同一个内存地址,
作用:单例可以实现不通模块之间的数据共享
#定义单列类
class Singleton(object):
#定义类属性保存创建对象结果
singleton = None
#是否第一次初始化
is_first = False
def new(cls, *args, **kwargs):
#判断类属性是否为None,非空表示要创建对象
if not cls.singleton:
#保存创建对象
cls.singleton = object.new(cls)
#对象创建以后以及第一次创建都需要把结果返回
return cls.singleton
def init(self, name, age):
#判断是否是第一次进行初始化,不是第一次,则不再初始化
#一般我们只需要对new进行判断,确定每次创建指向的内存地址不变
if not self.class.is_first:
self.name = name
self.age = age
#初始化完成,设置成已经初始化状态
self.class.__is_first = True
代码运行结果如下:
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦