我想在引号内打印一个变量。我想打印出来"variable"
我已经尝试了很多,有效的是:
print('"', variable, '"')
但是我在输出中有两个空格:
" variable "
如何在一对引号内打印一些东西?
我想在引号内打印一个变量。我想打印出来"variable"
我已经尝试了很多,有效的是:
print('"', variable, '"')
但是我在输出中有两个空格:
" variable "
如何在一对引号内打印一些东西?
你可以使用format
:
>>> s='hello'
>>> print '"{}"'.format(s)
"hello"
在此处了解格式:格式
在 3x 中,您可以使用f
:
>>> f'"{s}"'
'"hello"'
如果撇号(“单引号”)没问题,那么最简单的方法是:
print repr(str(variable))
否则,请选择该.format
方法而不是%
运算符(请参阅 Hackaholic 的答案)。
该%
运算符(请参阅 Bhargav Rao 的回答)也可以工作,即使到目前为止在 Python 3 中也是如此,但打算在将来的某个版本中删除。
使用的好处repr()
是字符串中的引号将得到适当的处理。如果文本中有撇号,repr()
将切换到""
引号。它总是会产生 Python 识别为字符串常量的东西。
这是否对您的用户界面有好处,嗯,那是另一回事。使用%
or .format
,您会得到一个简写方式,您可能会从以下方式开始:
print '"' + str(variable) + '"'
...正如查尔斯·达菲在评论中提到的那样。
只需这样做:
print '"A word that needs quotation marks"'
或者您可以使用三引号字符串:
print( """ "something" """ )
有两种简单的方法可以做到这一点。第一种是在每个引号前使用反斜杠,如下所示:
s = "\"variable\""
另一种方法是,如果字符串周围有双引号,请使用单引号,Python 会将它们识别为字符串的一部分(反之亦然):
s = '"variable"'
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"