如何使用值元组格式化字符串,例如使用 %(name)s

How to format strings with tuples of values like using %(name)s

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

您可以将元组传递给打印调用,并使用 %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)

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