【Python】'{{:{}}}{{:>{}}}'.format(30, 40)的输出为什么是'{:30}{:>40}'而不是'{{:30}}{{:>40}}'?

如题,不是一个占位符{}对应一个字符吗

控制符号作为文本内容时需要额外的格式与控制符区分。

如果要在输出【{】这个符号,那么,就在格式串中使用【{{】来表示。【}}】也是类似的。


同样的道理,在常规字符串中,【\】用于表示它与后一个符号是特殊字符的表义符号,如【\n】,那么【\】就是常规字符串中的控制符,要在字符串中输出【\】本身,就得按规则使用【\\】:

s_exp = 'log\\input.log'

print(s_exp)  # 输出:log\input.log


在其它编程语言中,也有类似的规则,最常见的就是字符串的界符。如果一种编程语言只支持一种字符串界符,那它就必需提供一种规则用来在字符串中输出相应在的界符。例如在mssql中字符串使用【'】 为界符,如果要在字符串包含单引号,那么,就得使用连续两个单引号来表示:

declare @data varchar(max) = 'what''s your name?'

温馨提示:答案为网友推荐,仅供参考
相似回答