一.单例模式
1.单例模式:多次实例化的结果指向同一个实例
2.单例模式的实现方式一:(绑定类的方法)
import settings
class Mysql:
__instance = None
def __init__(self, IP, PORT):
self.IP = IP
self.PORT = PORT
@classmethod
def from_conf(cls):
if cls.__instance is None:
cls.__instance=cls(settings.IP,settings.PORT)
return cls.__instance
obj1 = Mysql.from_conf()
obj2 = Mysql.from_conf()
obj3 = Mysql("1.1.1.3","2206")
print(obj1) #<__main__.Mysql object at 0x0000000002708278>
print(obj2) #<__main__.Mysql object at 0x0000000002708278>
print(obj3) #<__main__.Mysql object at 0x0000000002708550>
#settings.py
IP="1.1.1.2"
PORT= "3306"
3.单例模式的实现方式二:(@singleton装饰器)
def singleton(cls):
_instance=cl