Python 3格式化字符串:为何两种长度设置的补空格效果有差异?
问题解答:Python 3 format方法右对齐补空格的差异原因
- 核心逻辑:
format方法里>{宽度值}的作用是指定最终输出字符串的总宽度,当目标字符串长度小于这个宽度时,会在左侧补空格实现右对齐;如果目标字符串长度等于或大于这个宽度,就直接输出原字符串,不会补空格。
对两个代码示例的分析:
代码示例1:
string='Hello World!' length = 20 print('{1:>{0}}'.format(length, string))Hello World!的实际长度是12,而指定的总宽度是20,比12大,所以需要在字符串左侧补20-12=8个空格,最终输出带空格的右对齐结果:Hello World!。代码示例2:
string='Hello World!' length = len(string) print('{1:>{0}}'.format(length, string))这里
length等于字符串本身的长度12,指定的总宽度和字符串长度一致,不需要补任何空格,所以直接输出原字符串:Hello World!。
内容的提问来源于stack exchange,提问作者codeGrinder
相关产品推荐
相关产品推荐

