J'aimerais savoir comment supprimer des espaces supplémentaires lorsque j'imprime quelque chose.
Comme quand je le fais:
print 'Value is "', value, '"'
La sortie sera:
Value is " 42 "
Mais je veux:
Value is "42"
Est-ce qu'il y a un moyen de faire ça?
N'utilisez pas print ...,
Si vous ne voulez pas d'espaces. Utilisez la concaténation de chaînes ou le formatage.
Enchaînement:
print 'Value is "' + str(value) + '"'
Formatage:
print 'Value is "{}"'.format(value)
Ce dernier est beaucoup plus flexible, voir le str.format()
documentation de la méthode et le Syntaxe de la chaîne de formatage section .
Vous rencontrerez également l’ancien style de formatage %
:
print 'Value is "%d"' % value
print 'Value is "%d", but math.pi is %.2f' % (value, math.pi)
mais ce n'est pas aussi flexible que la nouvelle méthode str.format()
.
Juste une réponse facile pour l’avenir que j’ai trouvée facile à utiliser comme point de départ: similaire à l’utilisation de end=''
Pour éviter une nouvelle ligne, vous pouvez utiliser sep=''
Pour éviter les espaces blancs ... pour cette question ici, cela ressemblerait à ceci: print('Value is "', value, '"', sep = '')
Puisse-t-il aider quelqu'un à l'avenir.
C'est la virgule qui fournit cet espace blanc supplémentaire.
Une façon consiste à utiliser la chaîne %
méthode:
print 'Value is "%d"' % (value)
qui ressemble à printf
en C, vous permettant d’intégrer et de formater les éléments après %
en utilisant des spécificateurs de format dans la chaîne elle-même. Un autre exemple, montrant l'utilisation de plusieurs valeurs:
print '%s is %3d.%d' % ('pi', 3, 14159)
Pour ce que cela vaut, Python 3 améliore grandement la situation en vous permettant de spécifier le séparateur et le terminateur pour un seul appel print
:
>>> print(1,2,3,4,5)
1 2 3 4 5
>>> print(1,2,3,4,5,end='<<\n')
1 2 3 4 5<<
>>> print(1,2,3,4,5,sep=':',end='<<\n')
1:2:3:4:5<<
https://docs.python.org/2/library/functions.html#print
print (* objets, sep = '', end = '\ n', fichier = sys.stdout)
Remarque: cette fonction n’est normalement pas disponible en tant que fonction intégrée car le nom print est reconnu comme instruction print. Pour désactiver l'instruction et utiliser la fonction print (), utilisez cette future instruction en haut de votre module:
depuis future import print_function
Pour construire ce que Martjin disait. J'utiliserais une interpolation/un formatage de chaîne.
Dans Python 2.x, ce qui semble être ce que vous utilisez en raison du manque de parenthèses autour de la fonction d'impression que vous utilisez:
print 'Value is "%d"' % value
Dans Python 3.x, vous utiliseriez plutôt la méthode de formatage, donc votre code ressemblerait à ceci.
message = 'Value is "{}"'
print(message.format(value))