如何使用值元组格式化字符串,例如使用 %(name)s
Posted
技术标签:
【中文标题】如何使用值元组格式化字符串,例如使用 %(name)s【英文标题】:How to format strings with tuples of values like using %(name)s 【发布时间】:2021-05-27 19:45:45 【问题描述】:我总是看到通过在模符号和 s
字符之间放置值元组来格式化字符串,例如在 Formatter
的 fmt
参数参数的字符串中使用 Python 日志记录模块中的 %(levelno)s:%(message)s
instance 将以格式字符串返回消息和级别编号,我一直想知道它是如何创建该格式系统的。如何制作这样的格式化系统?
【问题讨论】:
【参考方案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 是的,这就是我想要的。非常感谢!以上是关于如何使用值元组格式化字符串,例如使用 %(name)s的主要内容,如果未能解决你的问题,请参考以下文章
详解C# Tuple VS ValueTuple(元组类 VS 值元组)
详解C# Tuple VS ValueTuple(元组类 VS 值元组)
详解C# Tuple VS ValueTuple(元组类 VS 值元组)
详解C# Tuple VS ValueTuple(元组类 VS 值元组)