为什么str.format()填充从左边开始为整数,但是对于字符串是默认填充?对我来说没有意义,为什么整数和字符串都不会有一个默认填充。
例如,如果value是一个字符串,它的中心位于左侧:
>>> "{value:20}".format(value="Guido van Rossum")
'Guido van Rossum '
>>> "{value:>20}".format(value="Guido van Rossum")
' Guido van Rossum'
但是如果值是一个整数,则默认情况下它位于右侧:
>>> "{value:20}".format(value=8)
' 8'
>>> "{value:<20}".format(value=8)
'8 '
我希望它对整数值和字符串值的工作方式相同。这种行为有什么需要?
这可能应该以非主题或基于意见的方式结束,因为你知道我们这样做的技术答案是“因为这是函数的设计者所选择的”。
但是fwiw,这种格式化惯例非常常见。打开excel。将列拖出相当宽。在该列的一个单元格中键入一个短数字值,在另一个单元格中键入一个短字符串。
如果这不是您需要的行为,请使用<
或>
以确保根据您的需要进行一致的填充。如果它不是您所期望的,除了调整您的期望之外,我不知道该告诉您什么,因为这是该功能的记录行为。