- 当所有实例封装的数据都相同时
- 只有一个实例
- 静态方法 + 静态字段
# 数据库连接的例子 class ConnectionPool: __instance = None def __init__(self): self.ip = "198.162.1.1" self.port = 3306 self.pwd = "123456" self.usr = "xxxx" # 去连接 self.conn_list = [1,2,3,4,5,6,7,8,9,10] @staticmethod def get_instance(): if ConnectionPool.__instance: return ConnectionPool.__instance else: # 创建一个对象,并保存在__instance ConnectionPool.__instance = ConnectionPool() return ConnectionPool.__instance def get_connection(self): #获取连接 import random r = random.randrange(1, 11) return r obj1 = ConnectionPool.get_instance() print(obj1) obj2 = ConnectionPool.get_instance() print(obj2) p = obj1. get_connection() print(p)
网友评论