I would like to print a variable within quotation marks. I want to print out "variable"
I have tried a lot, what worked was:
print('"', variable, '"')
but then I have two spaces in the output:
" variable "
How can I print something within a pair of quotation marks?
When referencing a variable, it is generally advisable to enclose its name in double quotes. This prevents reinterpretation of all special characters within the quoted string -- except $, ` (backquote), and \ (escape).
For Python, you might use '"' + str(variable) + '"' .
You can put a backslash character followed by a quote ( \" or \' ). This is called an escape sequence and Python will remove the backslash, and put just the quote in the string. Here is an example. The backslashes protect the quotes, but are not printed.
you can use format
:
>>> s='hello'
>>> print '"{}"'.format(s)
"hello"
Learn about format here:Format
In 3x you can use f
:
>>> f'"{s}"'
'"hello"'
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With