在文档中提到了它:
转换字段在格式化之前引起类型强制转换。通常,格式化值的工作是通过__format__()
值本身的方法完成的。但是,在某些情况下,希望强制将类型设置为字符串格式,以覆盖其自身对格式的定义。通过在调用之前将值转换为字符串__format__()
,可以绕过常规格式逻辑。
当前支持两个转换标志:’ !s
‘调用 str()
值,和’ !r
‘调用值repr()
。
>>> "repr() shows quotes: {!r}; str() doesn't: {!s}".format('test1', 'test2')
"repr() shows quotes: 'test1'; str() doesn't: test2"