例如,我们有:
word = 'Some Random Word'
print '"' + word + '"'
是否有更好的方法在变量周围打印双引号?
答案 0 :(得分:36)
更新:
从Python 3.6,您可以使用f-strings
>>> print(f'"{word}"')
"Some Random Word"
原始答案:
您可以尝试%-formatting
>>> print('"%s"' % word)
"Some Random Word"
>>> print('"{}"'.format(word))
"Some Random Word"
或者使用\
>>> print("\"%s\"" % word)
"Some Random Word"
并且,如果双引号不是限制(即单引号可以)
>>> from pprint import pprint, pformat
>>> print(pformat(word))
'Some Random Word'
>>> pprint(word)
'Some Random Word'
或者像其他人已经说过的那样(将其包括在你的声明中)
>>> word = '"Some Random Word"'
>>> print(word)
"Some Random Word"
使用你的感觉更好或更少混淆。
而且,如果您需要为多个单词执行此操作,您也可以创建一个函数
def double_quote(word):
return '"%s"' % word
print(double_quote(word), double_quote(word2))
并且(如果您知道自己在做什么,并且如果您关注这些内容的效果),请参阅this comparison。
答案 1 :(得分:7)
json.dumps
:
>>> import json
>>> print(json.dumps("hello world"))
"hello world"
这里提到的其他方法的优点是它也可以转义字符串中的引号(取str.format
!),总是使用双引号,实际上是为了可靠的序列化(取repr()
!):
>>> print(json.dumps('hello "world"!'))
"hello \"world\"!"
答案 2 :(得分:4)
看起来很傻,但对我来说很好。这很容易阅读。
word = "Some Random Word"
quotes = '"'
print quotes + word + quotes
答案 3 :(得分:4)
您可以尝试repr
代码:
word = "This is a random text"
print repr(word)
输出:
'This is a random text'
答案 4 :(得分:3)
word = '"Some Random Word"' # <-- did you try this?
答案 5 :(得分:1)
使用带有repr()的格式方法或f-string,可以使它写得更优雅。
a = "foo"
print("{!r}".format(a))
b = "bar"
print(f"{b!r}")
答案 6 :(得分:-1)
使用转义序列
示例:
int x = 10;
System.out.println("\"" + x + "\"");
O / P
"10"