Что означает печать (... sep = '', '\ t')?

У меня есть немного проблем, пытаясь найти ответ на этот вопрос. Я хотел бы знать, что означает синтаксис sep="" и \t. Я нашел информацию об этом, но я не совсем понял, в чем смысл использования синтаксиса. Я ищу объяснение того, что он делает, и когда/почему вы его используете.

Используется пример sep='':

print('Property tax: $', format(tax, ',.2f'), sep='') 

Ответ 1

sep='' в контексте вызова функции устанавливает именованный аргумент sep в пустую строку. См. Функцию print(); sep - это разделитель, используемый между несколькими значениями при печати. По умолчанию это пробел (sep=' '), этот вызов функции гарантирует, что между Property tax: $ и форматированным значением tax с плавающей запятой нет пробела.

Сравните вывод следующих трех вызовов print(), чтобы увидеть разницу

>>> print('foo', 'bar')
foo bar
>>> print('foo', 'bar', sep='')
foobar
>>> print('foo', 'bar', sep=' -> ')
foo -> bar

Все, что изменилось, это значение аргумента sep.

\t в строковом литерале - это escape-последовательность для символа горизонтального пробела, кодового пункта ASCII 9.

\t легче читать и печатать, чем фактический символ табуляции. См. Таблицу признанных escape-последовательностей для строковых литералов.

Использование пробела или вкладки \t в качестве разделителя печати показывает разницу:

>>> print('eggs', 'ham')
eggs ham
>>> print('eggs', 'ham', sep='\t')
eggs    ham

Ответ 2

sep='' игнорировать whiteSpace. см. код для понимания. Без sep=''

from itertools import permutations
s,k = input().split()
for i in list(permutations(sorted(s), int(k))):
    print(*i)

выход:

HACK 2
A C
A H
A K
C A
C H
C K
H A
H C
H K
K A
K C
K H

с помощью sep='' Код и вывод.

from itertools import permutations
s,k = input().split()
for i in list(permutations(sorted(s), int(k))):
    print(*i,sep='')

выход:

HACK 2
AC
AH
AK
CA
CH
CK
HA
HC
HK
KA
KC
KH

Ответ 3

sep='\t' часто используется для файла с разделителями табуляции.