【问题标题】:Are there cases when the f-string is not better than older string formatting methods? [closed]是否存在 f-string 不比旧的字符串格式化方法更好的情况? [关闭]
【发布时间】:2021-12-19 14:54:12
【问题描述】:

我个人想不出任何东西,但我想知道是否存在一些边缘情况,旧方法可能会更好。

【问题讨论】:

标签: python string-formatting f-string


【解决方案1】:

通常最好通过以下方式记录调用

log.info("some log {} data {} to be logged", arg1, arg2)
# will be `message.format(*args)` at the end of the day

对比

log.info(f"some log {arg1} data {arg2} to be logged")

原因是,如果我的记录器未配置为记录 INFO 日志,那么第二个 sn-p 会执行潜在昂贵的字符串插值,将参数转换为字符串等。第一个 sn-p 不进行插值并且提前返回而不序列化参数。

【讨论】:

    【解决方案2】:

    是的,当您需要以多种方式重用相同的模板字符串时,最好使用格式化字符串。例如看看这个question

    【讨论】:

      【解决方案3】:

      f-strings 不是您想要本地化的任何东西的选项。 f 字符串直接硬编码到程序的源代码中,因此您不能根据用户的语言设置将其动态地换成已翻译的模板字符串。

      【讨论】:

        猜你喜欢
        • 2019-02-26
        • 2022-12-07
        • 2013-10-11
        • 1970-01-01
        • 2015-02-03
        • 2012-05-31
        • 1970-01-01
        • 1970-01-01
        • 2016-10-18
        相关资源
        最近更新 更多