【问题标题】:How to format strings with tuples of values like using %(name)s如何使用值元组格式化字符串,例如使用 %(name)s
【发布时间】:2021-05-27 19:45:45
【问题描述】:

我总是看到通过在模符号和 s 字符之间放置值元组来格式化字符串,例如在 Formatterfmt 参数参数的字符串中使用 Python 日志记录模块中的 %(levelno)s:%(message)s instance 将以格式字符串返回消息和级别编号,我一直想知道它是如何创建该格式系统的。如何制作这样的格式化系统?

【问题讨论】:

    标签: python string formatting string-formatting text-formatting


    【解决方案1】:

    您可以将元组传递给 print 调用,并将 %s 用于字符串,%d 用于十进制数,%f 用于浮点数,等等。

    % 用作字符串格式化运算符,而不是取模。

    >>> print("We can represent %s with a rounded %f" % ("pi", 3.14))
    "We can represent the number pi with a rounded 3.14"
    

    这里的文档:% (String Formatting Operator)

    【讨论】:

    • 谢谢@chemicalwill,但这不是我想要的。
    【解决方案2】:

    我认为您正在寻找的是使用模运算符 (%s) 格式化字符串以及使用 dict 映射格式值,如下所示: print('Hello, %(name)s!' % {'name': 'Jack'})

    【讨论】:

    • @MarcoEl-Korashy 是的,这就是我想要的。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2011-03-24
    • 2017-05-28
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    • 2017-11-03
    • 2022-11-22
    • 1970-01-01
    相关资源
    最近更新 更多