По умолчанию команда 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
Если перевод строки делать не нужно или требуется указать специальное окончание, то следует явно указать значение для параметра 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!