Python单例模式实现日志功能

 时间:2024-10-12 05:01:16

1、打开python开发工具IDLE,新建‘Sin.py’文件,为方便理解先做一个函数装饰器,代码如下:def decr(fun): def addstr(ar): return 'hello'+fun(ar) return addstr@decrdef innerfun(s): return sprint (innerfun('world'))解释一下:innerfun是传入decr装饰器的函数,可以理解为函数指针fun,其参数传入的是decr内层函数addstr,最后得到的字符串就是addstr函数作用之后的了,在返回给innerfun函数

Python单例模式实现日志功能

3、再创建一个‘SinCls.py’文件,编写单例模式装饰器,代码如下:def singlecls(cobj): _instance = {} def createCobj(): if cobj not in _instance: _instance[cobj] = cobj() return _instance[cobj] return createCobj解释一下_instance这个字典使用类的地址作为key,对象实例作为value。类的地址不变,第一次创建类的对象后,就不会再创建新的。

Python单例模式实现日志功能

5、F5运行程序,打印出两个对象实例的地址,地址一致,说明同一实例。

Python单例模式实现日志功能

7、正常的日志一般写在文件里,IO频繁这也是用单例模式的好处,这里关于日志的知识就不展开了。F5运行程序,警告信息输出到控制台

Python单例模式实现日志功能
  • 如何使用SSH登录服务器
  • 关系数据库1:n联系到关系模型的转化
  • Navicat如何新建图表统计数据#校园分享#
  • 数据库连接(内链接,外连接(左连接,右连接)
  • 了解pb语言的if判断语句!
  • 热门搜索
    油然而生的意思 制片人是做什么的 eight是什么意思 由衷的意思 祛痘印用什么 拾人牙慧什么意思 牛仔裤配什么上衣好看 什么人适合戴貔貅 忠诚的意思 什么牌子的学习机好