Hero Stradivari
Hero Stradivari

Reputation: 595

How to print double quotes around a variable?

For instance, we have:

word = 'Some Random Word'
print '"' + word + '"'

Is there a better way to print double quotes around a variable?

Upvotes: 32

Views: 147514

Answers (7)

watsn zhein
watsn zhein

Reputation: 121

Using format method or f-string with repr(), you can write it more elegant.

a = "foo"
print("{!r}".format(a))
b = "bar"
print(f"{b!r}")

Upvotes: 5

shad0w_wa1k3r
shad0w_wa1k3r

Reputation: 13373

Update :

From Python 3.6, you can use f-strings

>>> print(f'"{word}"')
"Some Random Word"

Original Answer :

You can try %-formatting

>>> print('"%s"' % word)
"Some Random Word"

OR str.format

>>> print('"{}"'.format(word))
"Some Random Word"

OR escape the quote character with \

>>> print("\"%s\"" % word)
"Some Random Word"

And, if the double-quotes is not a restriction (i.e. single-quotes would do)

>>> from pprint import pprint, pformat
>>> print(pformat(word))
'Some Random Word'
>>> pprint(word)
'Some Random Word'

OR like others have already said (include it in your declaration)

>>> word = '"Some Random Word"'
>>> print(word)
"Some Random Word"

Use whichever you feel to be better or less confusing.

And, if you need to do it for multiple words, you might as well create a function

def double_quote(word):
    return '"%s"' % word

print(double_quote(word), double_quote(word2))

And (if you know what you're doing &) if you're concerned about performance of these, see this comparison.

Upvotes: 57

Adarsh J
Adarsh J

Reputation: 61

Use escape sequence

Example:

int x = 10;
System.out.println("\"" + x + "\"");

O/P

"10"

Upvotes: -4

coldfix
coldfix

Reputation: 7102

How about json.dumps:

>>> import json
>>> print(json.dumps("hello world"))
"hello world"

The advantage over other approaches mentioned here is that it escapes quotes inside the string as well (take that str.format!), always uses double quotes and is actually intended for reliable serialization (take that repr()!):

>>> print(json.dumps('hello "world"!'))
"hello \"world\"!"

Upvotes: 27

Sunny Shukla
Sunny Shukla

Reputation: 342

You can try repr

Code:

word = "This is a random text" print repr(word)

Output:

'This is a random text'

Upvotes: 11

Marcelo
Marcelo

Reputation: 436

It seems silly, but works fine to me. It's easy to read.

word = "Some Random Word"
quotes = '"'
print quotes + word + quotes

Upvotes: 5

qwertynl
qwertynl

Reputation: 3933

word = '"Some Random Word"' # <-- did you try this?

Upvotes: 4

Related Questions