类的内置函数
# 初始化动作执行一次
class Initial(object):
instance = None
init_flag = False
# 定义静态变量,获取唯一内存地址
def __new__(cls, *args, **kwargs):
# 判断如果已经获取过内存变量,将不再从内存中生成新的地址
if cls.instance is None:
# 从super中获取唯一内存地址
cls.instance = super().__new__(cls)
"""返回唯一地址"""
return cls.instance
def __init__(self):
# 根据类属性判断是不是已经初始化过
if Initial.init_flag:
return
print("initialization data")
Initial.init_flag = True
instance = Initial()
a1 = Initial()
print("唯一地址 :%s" % instance)
print("唯一地址 :%s" % a1)
- 根据类属性判断如果已经获取过内存变量,将不再从内存中生成新的地址
if cls.instance is None:
# 从super中获取唯一内存地址
cls.instance = super().__new__(cls)
"""返回唯一地址"""
return cls.instance
if Initial.init_flag:
return
print("initialization data")
Initial.init_flag = True