По умолчанию команда print() принимает несколько аргументов (параметров), выводит их через один пробел, после чего ставит перевод строки. Это поведение можно изменить, используя необязательные именованные параметры sep (separator, разделитель) и end (окончание).
Параметр sep
Рассмотрим следующий код:
print('a', 'b', 'c')
print('d', 'e', 'f')
Результатом выполнения такого кода будет:
a b c
d e f
Рассмотрим следующий код:
print('a', 'b', 'c', sep='*')
print('d', 'e', 'f', sep='**')
Результатом выполнения такого кода будет:
a*b*c
d**e**f
При первой печати в качестве строки разделителя между аргументами команды print() установлена строка sep='*'.
При второй печати в качестве строки разделителя между аргументами команды print() установлена строка sep='**'.
Таким образом, необязательный параметр sep команды print() позволяет установить строку, с помощью которой будут разделены аргументы при печати.
Если перевод строки делать не нужно или требуется указать специальное окончание, то следует явно указать значение для параметра end.
Рассмотрим следующий код:
print('a', 'b', 'c', end='@')
print('d', 'e', 'f', end='@@')
Результатом выполнения такого кода будет:
a b c@d e f@@
По завершении первой печати вставлена строка @ вместо перевода строки. Аналогично, по завершении второй печати вставлена строка @@.
Параметры sep и end можно использовать вместе. Рассмотрим следующий код:
print('a', 'b', 'c', sep='*', end='finish')
print('d', 'e', 'f', sep='**', end='^__^')
print('g', 'h', 'i', sep='+', end='%')
print('j', 'k', 'l', sep='-', end='#')
print('m', 'n', 'o', sep='/', end='!')
Результатом выполнения такого кода будет:
a*b*cfinishd**e**f^__^g+h+i%j-k-l#m/n/o!