class Singleton(type):
def __init__(self, *args, **kwargs):
self.__instance = None
super(Singleton, self).__init__(*args, **kwargs)
def __call__(self, *args, **kwargs):
if self.__instance is None:
self.__instance = super(Singleton, self).__call__(*args, **kwargs)
return self.__instance
else:
return self.__instance
import six
@six.add_metaclass(Singleton)
class LookupCIns():
def __init__(self):
self._eg_count = 0
self._mg_count = 0
self._eg_open = False
@property
def eg_count(self):
return self._eg_count
@eg_count.setter
def eg_count(self, count):
self._eg_count = count
@property
def mg_count(self):
return self._mg_count
@mg_count.setter
def mg_count(self, count):
self._mg_count = count
@property
def eg_open(self):
return self._eg_open
@eg_open.setter
def eg_open(self, eg_open):
self._eg_open = eg_open
python单例模式
最新推荐文章于 2023-09-21 23:06:30 发布
本文介绍了一种使用Singleton模式实现的类LookupCIns,确保只有一个实例并管理其属性eg_count、mg_count和eg_open。通过Metaclass将类转换为单例,并演示了如何设置和获取这些计数和状态。
摘要由CSDN通过智能技术生成