class MusicPlayer(object):
def __new__(cls, *args, **kwargs):
# 创建对象时,new方法会被自动调用,
# __new__方法是一个静态方法,调用时需要主动传递cls参数
print("创建对象,分配空间")
# 为对象分配空间
instance = super().__new__(cls)
# 返回对象的引用
return instance
# 重写new方法一定要return super().__new__(cls),
# 否则python解释器得不到分配了空间的对象引用,
# 就不会调用对象的初始化化方法
def __init__(self):
print("播放器初始化")
player = MusicPlayer()
print(player)