如何在引号内打印变量?

How to print variable inside quotation marks?

我想在引号内打印一个变量。我要打印出来 "variable"

我已经尝试了很多,有效的是:

print('"', variable, '"')

但是我在输出中有两个空格:

" variable "

如何在一对引号内打印内容?

您可以使用 format:

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

在此处了解格式:Format

在 3x 中你可以使用 f:

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

format 最好。这些是备选方案。

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

只需执行:

print '"A word that needs quotation marks"'

或者您可以使用三引号字符串:

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

有两种简单的方法可以做到这一点。第一种是在每个引号前使用反斜杠,如下所示:

s = "\"variable\""

另一种方法是,如果字符串周围有双引号,请使用单引号,Python 会将它们识别为字符串的一部分(反之亦然):

s = '"variable"'

如果撇号 ("single quotes") 没问题,那么最简单的方法是:

print repr(str(variable))

否则,更喜欢 .format 方法而不是 % 运算符(参见 Hackaholic 的回答)。

% 运算符(参见 Bhargav Rao 的回答)也有效,即使在 Python 3 中也是如此,但打算在未来的某个版本中删除。

使用 repr() 的优点是字符串中的引号将得到适当处理。如果文本中有撇号,repr() 将切换为 "" 引号。它总是会产生一些 Python 识别为字符串常量的东西。

这是否适合您的用户界面,那是另一回事。使用 %.format,你会得到一个 shorthand,因为你可能已经这样做了:

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

...正如 Charles Duffy 在评论中提到的那样。

你可以使用字符串连接检查下面的例子

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