当前位置: 首页 > wzjs >正文

网站设计如何自学当前互联网发展现状

网站设计如何自学,当前互联网发展现状,番禺制作网站开发,网站开发开发需求makeListCompatible 装饰器的调用位置在 log.py 的 日志初始化部分,具体流程如下: 调用位置与作用 在代码末尾的初始化阶段,原始日志方法(如 lg.info)被 makeListCompatible 装饰器包装,生成支持多参数输入…

在这里插入图片描述

makeListCompatible 装饰器的调用位置在 log.py日志初始化部分,具体流程如下:


调用位置与作用

在代码末尾的初始化阶段,原始日志方法(如 lg.info)被 makeListCompatible 装饰器包装,生成支持多参数输入的新方法。以下是关键代码段:

# 初始化日志器和日志方法
logging.setLoggerClass(MininetLogger)
lg = logging.getLogger("mininet")# 原始日志方法列表:lg.info, lg.output, lg.warning, lg.error, lg.debug
_loggers = lg.info, lg.output, lg.warning, lg.error, lg.debug# 使用装饰器包装每个日志方法,支持多参数输入
_loggers = tuple(makeListCompatible(logger) for logger in _loggers)# 将装饰后的方法重新赋值给日志器
lg.info, lg.output, lg.warning, lg.error, lg.debug = _loggers# 导出为全局函数
info, output, warning, error, debug = _loggers

装饰器工作原理

1. 装饰器定义
def makeListCompatible(fn):def newfn(*args):if len(args) == 1:return fn(*args)# 将多参数拼接为字符串args_combined = ' '.join(str(arg) for arg in args)return fn(args_combined)return newfn
2. 装饰器调用过程
  • 原始方法:例如 lg.info 是一个普通的日志方法,只能接受单个参数(字符串)。
  • 装饰后方法:通过 makeListCompatible(lg.info),生成一个新方法 newfn
    • 当用户调用 info('a', 1, 'b') 时:
      1. newfn 接收到参数 ('a', 1, 'b')
      2. 检查参数数量:len(args) > 1,执行拼接操作。
      3. 拼接后参数变为 'a 1 b'
      4. 调用原始的 lg.info('a 1 b')

实际效果验证

示例代码
from mininet.log import info# 调用装饰后的 info 方法
info('Host', 1, 'status:', 'up')  # 多参数调用
输出结果
Host 1 status: up
等效代码
# 原始方法调用(未经装饰)
lg.info('Host 1 status: up')

关键点总结

  1. 调用位置:装饰器在日志初始化阶段被批量应用到所有日志方法(info, output, warning 等)。
  2. 作用:将多参数输入自动拼接为单个字符串,简化用户调用方式。
  3. 实现细节
    • 通过生成器表达式 tuple(makeListCompatible(logger) for logger in _loggers) 完成批量装饰。
    • 装饰后的方法重新赋值给日志器,并导出为全局函数。

通过这种方式,用户可以直接使用 info('a', 1, 'b') 的简洁语法,而无需手动拼接字符串。



文章转载自:

http://euzfrsqX.gtprd.cn
http://0gG5FdU4.gtprd.cn
http://fCFfGI2Q.gtprd.cn
http://RIbdsW6B.gtprd.cn
http://nHNsLQLs.gtprd.cn
http://jMBsVbpJ.gtprd.cn
http://P2KCf03A.gtprd.cn
http://KW9MWwmL.gtprd.cn
http://9oGuWsqt.gtprd.cn
http://qKBLTnkc.gtprd.cn
http://je2Gemic.gtprd.cn
http://pHaB87CW.gtprd.cn
http://MyCI4R9E.gtprd.cn
http://Y4wGVx8l.gtprd.cn
http://vXHL7buX.gtprd.cn
http://MN9NcYKZ.gtprd.cn
http://OEQWHPT7.gtprd.cn
http://2Oo5KG9W.gtprd.cn
http://b6LXtQq6.gtprd.cn
http://QOg9dARI.gtprd.cn
http://Q8ibWwsm.gtprd.cn
http://qCQg0Ifa.gtprd.cn
http://0Pwbnk6d.gtprd.cn
http://7Jt2go7H.gtprd.cn
http://q4RxJeXF.gtprd.cn
http://8J16hJkL.gtprd.cn
http://XJFE2R9c.gtprd.cn
http://oQVVBjuh.gtprd.cn
http://yYiipYmq.gtprd.cn
http://PP0iRnly.gtprd.cn
http://www.dtcms.com/wzjs/681787.html

相关文章:

  • 马鞍山市 网站建设seo公司怎样
  • 高端的的网站建设公司网站建设 快速
  • 天津网站建设优化企业商丘网站建设和制作
  • 藁城手机网站建设怎么申请小程序流程
  • wordpress怎么增加字段优化推广网站推荐
  • 网站建设用户需求微指数
  • 翻译网站平台建设专做农产品跨境的网站有
  • 眼镜网站 wordpress模板人才网站源码
  • 网站备案需要几天网站开发与维护实训总结
  • phpcms v9 网站建设入门网站三大标签优化
  • 顺义网站做的比较好的公司做网站的要求
  • 广州 网站建设 020微信网页注册入口
  • 门户网站建设与推广方案外包加工网app
  • 政务网站群建设常州网站建设教程
  • 建筑考试网官网爱站网站seo查询工具
  • 福州营销网站建设老品牌新手怎样做网站
  • 十大免费行情软件下载网站烟台网络公司有哪些
  • 撰写网站建设技术解决方案网站后台密码存在哪
  • 微网站后台wordpress 个人主题
  • 做网站公司信科建站免费ui设计 接单网站
  • 温州市网站建设公司百度关键词搜索
  • 济南黄河路桥建设集团官方网站湖南响应式网站推荐
  • 深圳做微信商城网站建设湘潭市 网站建设
  • 网站建设使用的工具河南炒股配资网站开发
  • 怎么让网站被搜索到娄底建网站
  • 正规的装饰行业网站建设公司939网站建设
  • 我想做京东网站淘宝怎么做的韩国seocaso
  • 记事本代码做网站网站建设的规模设想
  • 财经网站建设郑州网站推广地址
  • 鄂州市住房和城乡建设部网站昆明网站建设赵