web-dev-qa-db-fra.com

Que signifie print (... sep = '', '\ t')?

J'ai un peu de difficulté à essayer de trouver une réponse à cette question. J'aimerais savoir ce que signifie la syntaxe sep="" et \t. J'ai trouvé des informations à ce sujet, mais je ne comprenais pas très bien à quoi servait la syntaxe. Je cherche une explication de ce qu'il fait et quand/pourquoi vous l'utiliseriez.

Un exemple de sep='' utilisé:

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

sep='' dans le contexte d'un appel de fonction définit l'argument nommé sep en chaîne vide. Voir la print() fonction ; sep est le séparateur utilisé entre plusieurs valeurs lors de l'impression. La valeur par défaut est un espace (sep=' '), cet appel de fonction vérifie qu'il n'y a pas d'espace entre Property tax: $ et la valeur à virgule flottante tax formatée.

Comparez la sortie des trois appels print() suivants pour voir la différence

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

Tout ce qui a changé est la valeur de l'argument sep.

\tdans un littéral de chaîne est une séquence d'échappement pour caractère de tabulation, espace blanc, ASCII code 9 .

\t est plus facile à lire et à taper que le caractère de tabulation réel. Voir la table des séquences d'échappement reconnues pour les littéraux de chaîne.

L'utilisation d'un espace ou d'un onglet \t en tant que séparateur d'impression montre la différence:

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

sep='' ignorer les espaces blancs . Voir le code à comprendre. Sans sep=''

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

sortie:

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

using sep='' Le code et la sortie.

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

sortie:

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