python设计模式-------单例设计模式

样式一、

 class  MusicPlayer(object):

    instance  =  None         # 设置类属性,用来判断是否有对象得到内存空间 

    init_flag  =  False           # 0表示还没有初始化;1代表已经初始化

    # 使用内置函数进行空间的分配 

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

         # cls:哪个类调用,就传递哪个类;*args:元组参数;**kwargs:字典参数

         # 为对象分配内存

         if  cls.instance  ==  None:       # 空的时候,分配空间

               cls.instance  =  object.__new__(cls)

         return  cls.instance    

         # 把解释器的到的分配了空间的对象的引用,给对象的初始化方法 

    def  __init__(self):

         if  MusicPlayer.init_flag  == False:  

               print("初始化你个小渣渣") 

               MusicPlayer.init_flag  =  True

         else:

               return      # 当已经初始化后,再执行就直接返回 

# 创建播放器对象

player1  =  MusicPlayer()

print  player1
player2  =  MusicPlayer()

print  palyer2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值