16

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

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

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

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

" variable "

如何在一对引号内打印一些东西?

4

5 回答 5

31

你可以使用format

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

在此处了解格式:格式

在 3x 中,您可以使用f

>>> f'"{s}"'
'"hello"'
于 2015-01-03T16:50:44.737 回答
14

如果撇号(“单引号”)没问题,那么最简单的方法是:

print repr(str(variable))

否则,请选择该.format方法而不是%运算符(请参阅 Hackaholic 的答案)。

%运算符(请参阅 Bhargav Rao 的回答)也可以工作,即使到目前为止在 Python 3 中也是如此,但打算在将来的某个版本中删除。

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

这是否对您的用户界面有好处,嗯,那是另一回事。使用%or .format,您会得到一个简写方式,您可能会从以下方式开始:

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

...正如查尔斯·达菲在评论中提到的那样。

于 2015-01-03T16:59:19.443 回答
4

只需这样做:

print '"A word that needs quotation marks"'

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

print( """ "something" """ )
于 2015-01-03T16:54:59.870 回答
3

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

s = "\"variable\""

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

s = '"variable"'
于 2015-01-03T16:59:11.200 回答
2

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"
于 2015-01-03T16:51:29.497 回答