How to print variable inside quotation marks?

If apostrophes ("single quotes") are okay, then the easiest way is to:

print repr(str(variable))

Otherwise, prefer the .format method over the % operator (see Hackaholic's answer).

The % operator (see Bhargav Rao's answer) also works, even in Python 3 so far, but is intended to be removed in some future version.

The advantage to using repr() is that quotes within the string will be handled appropriately. If you have an apostrophe in the text, repr() will switch to "" quotes. It will always produce something that Python recognizes as a string constant.

Whether that's good for your user interface, well, that's another matter. With % or .format, you get a shorthand for the way you might have done it to begin with:

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

...as mentioned by Charles Duffy in comment.


There are two simple ways to do this. The first is to just use a backslash before each quotation mark, like so:

s = "\"variable\""

The other way is, if there're double quotation marks surrounding the string, use single single quotes, and Python will recognize those as a part of the string (and vice versa):

s = '"variable"'

you can use format:

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

Learn about format here:Format

In 3x you can use f:

>>> f'"{s}"'
'"hello"'

Simply do:

print '"A word that needs quotation marks"'

Or you can use a triple quoted string:

print( """ "something" """ )