这节主要记录单例设计的模式与单例之后执行一次的方法
单例:
目的是让这个只有一个实例化的对象
使用时需更改__new__方法,且需设置类属性
就先举个例子:上代码
class Player(object):
instance = None
def __new__(cls, *args, **kwargs):
if cls.instance is None:
cls.instance=super().__new__(cls)
return cls.instance
建立了一个Player类,其中需要设置一个类属性instance = None,之后更改new方法,因为new方法在使用时是为类的对象创造空间的,所以为了每次创建的对象都不变,也就是说地址不变,所以每次返回的地址应该相同。于此同时,在new方法当中应该保证不再创建新的地址,所以进行对instance的判断,是否地址相同,且存在,并赋值给instance,最后进行返回
建立对象:
player1=Player()
player2=Player()
print(player1)
print(player2)
我的运行结果:
<__ma