单例模式
一、什么是单例模式 整个过程中只有一个实例,所有生成的实例都指向同一块内存空间,本质是为了节省空间 class Person: def __init__(self, name, age): self.name = name self.age = age p1 = Person('yjy',18) p2 = Person('yjy',18) print(p1) #<__main__.Person object at 0x000002694B07E278> print(p2) #<__main__.Person object at 0x000002694B07E2B0> 以上p1和p2的内存空间不一样,就不是单例模式 二、实现单例模式的方法 需求: 当用户输入端口和地址,实例化产生新对象 当用户不输入端口和地址,每次拿到的对象,都是同一个 2.1 通过类的绑定方法 class Sql(): #定义一个Sql类 _instance = None #定义一个初始变量__instance=None,将第一次实例的对象传给他,有每次外面再访问就直接进行get_singleton里面的if判断 def __init__(self,port,host): self.port = port self.host = host @classmethod #运用类的绑定方法 绑定给Sql类去直接调用实例化