首页 > 编程问答 >哪种 python 日志记录风格是推荐的或标准的?

哪种 python 日志记录风格是推荐的或标准的?

时间:2024-07-26 03:58:54浏览次数:16  
标签:python coding-style conventions code-standards

我是Python新手。介于以下 2 个选项之间。对于 python 来说,推荐哪种风格或者更好?

logging.info(f"Won't save model as score is below 0, score: {score}")
logging.info("Won't save model as score is below 0, score %s", score)

我个人更喜欢第二种方法。


在 Python 中,推荐的日志记录样式是使用 第二种方法 ,其具有占位符和单独的参数:

logging.info("Won't save model as score is below 0, score %s", score)

以下是使用此方法的原因:

  • 效率: 当日志级别设置为不输出 INFO 时,使用 f-string(第一种方法)会导致不必要地格式化字符串和评估变量。第二种方法在日志记录器实际上要输出消息之前不会格式化字符串,从而节省了在禁用日志级别时的资源。

  • 灵活性: 占位符方法允许日志记录器处理字符串格式,这在处理可能未正确格式化为 f-string 的旧消息时可能会有所帮助。

  • 可读性: 虽然 f-string 在某些情况下可以更简洁,但占位符方法可以使日志消息的模板更易于阅读,尤其是在处理更长的消息或多个变量时。

总之,虽然 f-string 提供了简洁性,但在日志记录方面,使用占位符优先考虑效率和灵活性,而不会明显影响可读性。

标签:python,coding-style,conventions,code-standards
From: 78795229

相关文章

  • python 协程 自定义互斥锁
    最近在用python的一款异步web框架sanic搭建web服务,遇到一个需要加特定锁的场景:同一用户并发处理订单时需要排队处理,但不同用户不需要排队。如果仅仅使用asyncwithasyncio.Lock()的话。会使所有请求都排队处理。1importasyncio2importdatetime34lock=asyncio.L......
  • Python 获取tiktok视频评论回复数据 api接口
    TIKTOKapi接口爬取tiktok视频评论回复数据详细采集页面如图https://www.tiktok.com/@dailymail/video/7329872821990182190?q=neural%20link&t=1706783508149请求APIhttp://api.xxxx.com/tt/video/info/comment/reply?video_id=7288909913185701125&comment_id=7294900......
  • Shopee虾皮api python获取虾皮购物平台的商品数据信息 数据采集
    虾皮购物(英语:Shopee)是一个电商平台,总公司设在新加坡,归属于SeaGroup(之前称之为Garena),该企业于2009年由李小冬(ForrestLi)创办。虾皮购物于2015年初次在新加坡推出,现阶段已拓展到马来西亚、泰国、印度尼西亚、越南和菲律宾。虾皮购物为全球华人地区的客户提供线上购物和销售......
  • python实现图像特征提取算法1
    python实现Marr-Hildreth算法、Canny边缘检测器算法1.Marr-Hildreth算法详解算法步骤公式Python实现详细解释优缺点2.Canny边缘检测器算法详解算法步骤公式Python实现详细解释优缺点1.Marr-Hildreth算法详解Marr-Hildreth算法是一个......
  • python实现盲反卷积算法
    python实现盲反卷积算法盲反卷积算法算法原理算法实现Python实现详细解释优缺点应用领域盲反卷积算法盲反卷积算法是一种图像复原技术,用于在没有先验知识或仅有有限信息的情况下,估计模糊图像的原始清晰图像和点扩散函数(PSF)。盲反卷积在摄影、医学成......
  • Python——异常捕获,传递及其抛出操作
    01.异常的概念1.程序在运行时,如果python解释器遇到一个错误,会停止程序的执行,并且提示一些错误信息,这就是异常。2.程序停止执行并且提示错误信息这个动作,我们通常称之为:抛出(raise)异常。 程序开发时,很难将所有的特殊情况都处理的面面俱到,通过异常捕获可以针对突发事件做......
  • Python 多进程下日志打印
    Python多进程下日志打印问题分析使用gunicorn启动Flask时,如果直接使用logging的RotatingFileHandler模块会出现日志混乱,甚至日志丢失的情况。在日志翻转时,可能出现一个进程将log文件翻转,而后又有进程也将log文件翻转,导致log.1文件并未达到设置的最大的文件大小,......
  • python 装饰器执行顺序的代码示例
    defdecoratorA(func):print(33)defwrapperA():print("EnteringA")print(func())print("ExitingA")print(44)returnwrapperAdefdecoratorB(func):print(11)defwrapperB():print("Ent......
  • 自定义IPython启动:打造个性化的交互式编程环境
    自定义IPython启动:打造个性化的交互式编程环境IPython,一个强大的交互式Python解释器,提供了丰富的定制选项,允许用户根据个人或团队的需求定制其行为和外观。设置自定义的启动命令是IPython定制功能的一部分,它可以让你在启动IPython时自动执行一系列操作,如导入模块、设置变量......
  • xml.etree.ElementTree 文档中文翻译; SVG矢量图;Python标准库
    更新中..简介xml.etree.ElementTree实现了一个简洁有效的用于解析和新建XML数据的API。其也被简称为ET。弃用:xml.etree.cElementTree自Python==3.3已被弃用警告:使用时需注意恶意构建的数据,请防范XML漏洞概念XML是一种继承性的分层数据格式,常用树来表示。ET有两个类,Ele......