最简单的Python单例模式代码

xiaoxiao2025-10-12  8

废话不扯 直接上代码:

# 实例化一个单例 class Singleton(object): __instance = None __first_init = True def __new__(cls, age, name): ''' 如果类属性__instance的值为None,那么就创建一个对象,并且赋值为这个对象的引用 保证下次调用这个方法时能够知道之前已经创建过对象了,这样就保证了只有1个对象 ''' if not cls.__instance: # return super(Singleton, cls).__new__(cls) cls.__instance = super(Singleton, cls).__new__(cls) # cls.__instance = object.__new__(cls) return cls.__instance # def __init__(self,age,name): # self.age = age # self.name = name def __init__(self, age, name): if self.__first_init: self.age = age self.name = name Singleton.__first_init = False a = Singleton(18, "laowang") print(id(a)) b = Singleton(8, "laozhang") print(id(b)) print(a.age, a.name) print(b.age, b.name)
转载请注明原文地址: https://www.6miu.com/read-5037805.html

最新回复(0)