gpt4 book ai didi

python - python日志记录: comparing `%` with `.format` 中的字符串的惰性求值

转载 作者:行者123 更新时间:2023-12-03 15:45:13 27 4
gpt4 key购买 nike

这两个调用之间有什么区别:

import logging

logging.getLogger().debug('test: %i' % 42)
logging.getLogger().debug('test: {}'.format(42))
当我们将 42强制转换为产生最终答案为42的字符串时,假定它被某个较长的计算(例如750万年的计算)替换。
如果将日志记录设置为调试,第一种方法是否会被懒惰地评估?

最佳答案

都不懒。在发送到记录器之前,将对这两个字符串进行插值。在python日志记录方面的惰性评估是通过单独的参数完成的。 https://docs.python.org/2/library/logging.html文档建议对字符串插值进行惰性评估的以下内容;

logging.getLogger().debug('test: %i', 42)

TL; DR
在这种情况下,考虑以下内容会更容易。我们向记录器发送了一个原始类型(字符串),但只有一个参数。因此,它不能偷懒。

关于python - python日志记录: comparing `%` with `.format` 中的字符串的惰性求值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52012564/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com