Форматеры в Python

У меня есть эта строка кода:

форматер = "%r %r %r %r"

средство форматирования печати % (1, 2, 3, 4) средство форматирования печати % ("один", "два", "три", "четыре") средство форматирования печати % (True, False, False, True) средство форматирования печати % (форматер, formatter, formatter, formatter) print formatter % ("У меня была для тебя вот эта штука.", "Чтобы ты мог правильно напечатать.", "Но она не пела.", "Поэтому я пожелал спокойной ночи." )‹‹ ‹

и вывод для последних 4 строк:

«У меня была эта штука для тебя». «Чтобы вы могли напечатать правильно». «Но он не пел». — Так что я пожелал спокойной ночи. ‹‹‹

Я хочу понять, почему третье предложение отображается в двойных кавычках, а остальные — в одинарных.

Я попытался удалить двойную кавычку, но это не дало ожидаемого результата.


print formatter % (1, 2, 3, 4)
print formatter % ("one", "two", "three", "four")
print formatter % (True, False, False, True)
print formatter % (formatter, formatter, formatter, formatter)
print formatter % (
    "I had this thing for you.",
    "That you could type up right.",
    "But it didn't sing.",
    "So I said goodnight."

person Père Noël    schedule 10.08.2019    source источник


Ответы (1)


Это потому, что у вас есть апостроф ' внутри строки. Если вы удалите его, он будет напечатан как 'But it didnt sing.'. Это нужно для того, чтобы различать ограничения строк. Было бы несколько запутанно, если бы это было напечатано с ': 'But it didn't sing.'

PS. Если вы добавите в свою строку знаки ' и ", все станет еще интереснее. Попробуйте себя.

person tansy    schedule 10.08.2019