首页 > 代码库 > Learn_Day16 设计模式:单例模式
Learn_Day16 设计模式:单例模式
单例模式:只有一个实例
当所有实例都封装同一个数据时适用单例模式
# 单例模式 class P: def __init__(self): self.name = ‘xxx‘ self.age = ‘xx‘ def f1(self): print (self.name, self.age) pass xx = P() xx.f1()
举例说明:
# 创建连接池 class ConncetionPool: # ConncetionPoo连接池 __obj = None # 创建私有字段,用于判断 def __init__(self): pass @staticmethod # 静态方法 def get_obj(): if ConncetionPool.__obj: # 判断__obj return ConncetionPool.__obj # 返回__obj else: ConncetionPool.__obj = ConncetionPool() # 创建对象并赋值给__obj return ConncetionPool.__obj # 返回__obj pool1 = ConncetionPool.get_obj() # 执行类的静态方法 print(pool1) pool2 = ConncetionPool.get_obj() # 执行类的静态方法 print(pool2) pool3 = ConncetionPool.get_obj() # 执行类的静态方法 print(pool3) # for i in range(10): # pool = ConncetionPool.get_obj() # 执行类的静态方法 # print(‘去连接池‘, pool, ‘中获取一个连接‘) # conn = pool.get_connection # print(conn)
Learn_Day16 设计模式:单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。