Heiko
Heiko

Reputation: 329

How to print variable inside quotation marks?

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?

Upvotes: 16

Views: 121319

Answers (6)

Rifwan Jaleel
Rifwan Jaleel

Reputation: 19

you can use string Concatenation check the below example

n= "test"
print ('"' + n + '"')

Upvotes: 0

Hackaholic
Hackaholic

Reputation: 19763

you can use format:

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

Learn about format here:Format

In 3x you can use f:

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

Upvotes: 34

Mike Housky
Mike Housky

Reputation: 4069

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.

Upvotes: 17

Bhargav Rao
Bhargav Rao

Reputation: 52181

format is the best. These are 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"

Upvotes: 2

hmir
hmir

Reputation: 1413

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"'

Upvotes: 3

Jobs
Jobs

Reputation: 3377

Simply do:

print '"A word that needs quotation marks"'

Or you can use a triple quoted string:

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

Upvotes: 4

Related Questions