class Player(object):
instance = None
def __new__(cls, *args, **kwargs):
#1:判断类属性是否是空对象
if cls.instance is None:
#2:条用父类方法,为第一个对象分配空间
cls.instance = super().__new__(cls)
#3:返回类属性保存的对象引用
return cls.instance
player1 = Player()
print(player1)
player2 = Player()
print(player2)
输出结果:
<__main__.Player object at 0x000001E3068B0408>
<__main__.Player object at 0x000001E3068B0408>