样式一、
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