class SingleTon(object):
flag=False;
obj=None;
def __new__(cls, *args, **kwargs):
#分配空间
print("开始分配空间");
#创建对象
if cls.obj is None:
cls.obj=super().__new__(cls);
#返回对象
return cls.obj;
def __init__(self):
if SingleTon.flag:
return
print("执行init空间=====");
SingleTon.flag=True;
s=SingleTon();
print(s)
s2=SingleTon();
print(s2)
#结果:
开始分配空间
执行init空间=====
<__main__.SingleTon object at 0x0000000002946148>
开始分配空间
<__main__.SingleTon object at 0x0000000002946148>