字符串格式化

0 投票
2 回答
824 浏览
提问于 2025-04-15 11:17

我不明白为什么冒号在第二次的时候向左移动了。

>>> print '%5s' %':'
    :
>>> print '%5s' %':' '%2s' %':'
 : :

请帮我解决这个问题。

2 个回答

2

你想要做什么呢?

>>> print '%5s' % ':'
    :
>>> print '%5s%2s' % (':', ':')
    : :

你可以通过把它们两个合并成一个字符串格式化的表达式来实现你的目标。

9

在Python中,紧挨着的字符串会被连接在一起:

>>> t = 'a' 'bcd'
>>> t
'abcd'

所以在你的第二个例子中,它等价于:

>>> print '%5s' % ':%2s' % ':'

根据Python中%运算符的优先级规则,这个是:

>>> print ('%5s' % ':%2s') % ':'

或者

>>> print ' :%2s' % ':'
 : :

撰写回答