web-dev-qa-db-fra.com

Comment imprimer les variables entre guillemets?

Je voudrais imprimer une variable entre guillemets. Je veux imprimer "variable"

J'ai essayé beaucoup, ce qui a fonctionné était: '"', variable", '"' - mais ensuite, j'ai deux espaces dans la sortie -> " variable "

Quand je fais print '"'variable'"' sans la virgule, je reçois une erreur de syntaxe.

Comment puis-je imprimer quelque chose entre deux guillemets?

5
Heiko

vous pouvez utiliser format:

>>> s='hello'
>>> print '"{}"'.format(s)
"hello"

En savoir plus sur le format ici: Format

16
Hackaholic

Si les apostrophes ("guillemets simples") sont acceptables, le moyen le plus simple consiste à:

print repr(str(variable))

Sinon, préférez la méthode .format à l'opérateur % (voir la réponse de Hackaholic).

L'opérateur % (voir la réponse de Bhargav Rao) fonctionne également, même dans Python 3 jusqu'à présent, mais doit être supprimé dans une version ultérieure.

L’utilisation de repr() présente l’avantage de permettre le traitement approprié des guillemets dans la chaîne. Si vous avez une apostrophe dans le texte, repr() basculera en guillemets "". Il produira toujours quelque chose que Python reconnaît comme une constante de chaîne.

Que ce soit bon pour votre interface utilisateur, eh bien, c'est une autre affaire. Avec % ou .format, vous obtenez un raccourci pour la façon dont vous auriez pu le faire pour commencer:

print '"' + str(variable) + '"'

... comme l'a mentionné Charles Duffy dans un commentaire.

4
Mike Housky

Faites simplement:

print '"A Word that needs quotation marks"'

Ou vous pouvez utiliser une chaîne à triple guillemet:

print( """ "something" """ )
3
Jobs

format est le meilleur. Ce sont des alternatives.

>>> s='hello'       # Used widly in python2, might get deprecated
>>> print '"%s"'%(s)
"hello"

>>> print '"',s,'"' # Usin inbuilt , technique of print func
" hello "

>>> print '"'+s+'"' # Very old fashioned and stupid way
"hello"
2
Bhargav Rao

Il y a deux façons simples de faire cela. La première consiste à utiliser une barre oblique inverse avant chaque guillemet, comme suit:

s = "\"variable\""

L'autre façon est, s'il y a des guillemets doubles entourant la chaîne, utilisez des guillemets simples, et Python les reconnaîtra comme faisant partie de la chaîne (et vice versa):

s = '"variable"'
2
hmir