单例模式
单例模式:永远用一个对象的实例
使用时遵循规则 :创建的对象跟对象之间内部封装的值是一模一样的,则没必要创建多个对象
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。两种使用方式:
1. low版单例: 缺点调用方式变化 Foo().get_instance()
class Foo(object):
instance = None
def _init_(self):
pass
@classmethod
def get_instance(cls):
if
return Foo.instance
else:
Foo.instance = Foo()
return Foo.instance
2. 高级版: 基于 __new__ 方法实现的单例模式
class Foo(object):
__instance = None
def __init__(self):
pass
def __new__(cls,*args,**kwargs):
if not cls.__instance:
obj = object.__new__(cls,*args,**kwargs)
cls.__instance = obj
return cls.__instance
更多精彩

