Day 10

单例模式:该模式的主要目的是确保某一个类只有一个实例存在
class singleton:
    
name='sing'
    
借助第三方变量
    
__instance=None;
    
def __new__(cls, *args, **kwargs):
        
if cls.__instance == None:
            
cls.__instance=object.__new__(cls);
            
return  cls.__instance;
 
      else:
            
return cls.__instance;

    
def __init__(self,score):
        
self.score=score;

s=singleton(
60);
setattr(singleton,'name','oop')

print(singleton.name)

print(s.__getattribute__('score'))
s.
__setattr__('score2',70)
print(s.__getattribute__('score2'))
print('getattr(s,score2)',getattr(singleton,'name'))
print('hasattr(s,score2)'hasattr(s,'score2'))
print(id(s))
s1=singleton();
print(id(s1))
a,b=
10,5;
c=a;
a=b;
b=c;
#b,a=a,b;
print(a,b)

 
 
继承续集:

class student:
    
__slots__ = ('name','age');
    
def __init__(self,name,age):
        
self.name=name
        
self.age =age
    
def SayHi(self):
        
print('我是:%s 今年 %d'%(self.name,self.age))
    
def __call__(self, *args, **kwargs):
        
print('--> <--')


def goHome():
    
print("s 走路回家..")

student.gohome=goHome
s=student(
'tom',20);
print(s)
s(
'123','456')
printcallable(s))

# s2=student('jack',20);
# s2.goHome(s2.name)




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值