форматирование строки - PullRequest
0 голосов
/ 28 апреля 2009

Я не понимаю, почему двоеточие сместилось влево во второй раз

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

Помогите мне, пожалуйста,

Ответы [ 2 ]

9 голосов
/ 28 апреля 2009

В Python соединенные строки объединяются:

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

Итак, во втором примере это эквивалентно:

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

, что по правилам приоритета для оператора% Python:

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

или

>>> print ' :%2s' % ':'
 : :
2 голосов
/ 28 апреля 2009

Что вы пытаетесь сделать?

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

Вы можете достичь желаемого, смешав их в одно выражение для форматирования строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...