为什么Python字符串格式看起来不同?

2024-05-16 01:30:27 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么Python3字符串格式在这两个代码块之间看起来如此不同?我认为他们应该看起来一样。我认为结果会是一样的

def print_formatted(number):
    width_bin = format(number,'b')
    for i in range(1,number+1):

        bi=format(i,'b')
        oc=format(i,'o')
        he=format(i,'X')

        print("{0:{4}} {1:{4}} {2:{4}} {3:{4}}".format(i,oc,he,bi,len(width_bin)))
    return

n = 5
print_formatted(n)

结果:

  1 1   1   1  
  2 2   2   10 
  3 3   3   11 
  4 4   4   100
  5 5   5   101

与:

def print_formatted(number):
    width_bin = format(number,'b')
    for i in range(1,number+1):

        print("{0:{1}d} {0:{1}o} {0:{1}X} {0:{1}b}".format(i,len(width_bin)))
    return

n = 5
print_formatted(n)

结果:

  1   1   1   1
  2   2   2  10
  3   3   3  11
  4   4   4 100
  5   5   5 101

似乎左右对齐方式有所改变,但我不明白为什么会这样


Tags: informatnumberforlenreturnbindef