我有两个类似的python代码。
formatter = "%r %r %r %r"
print formatter % (
"I had this thing",
"That you could type upright",
"But it didn't sing",
"So I said goodnight"
)
print formatter % (
"hi!",
"My name is __!",
"nice to meet you!",
"thank you!"
)
其他打印为'',但唯一的第三个短语在第一个代码中打印为“但它没有唱歌”。 为什么会导致双引号?
结果:
'我有这件事。' “你可以输入正确的。” “但它没有唱歌。” “所以我说晚安。”
答案 0 :(得分:0)
好的,因为repr()
函数返回对象的可打印表示。我的意思是,在其他短语中,您没有使用单引号字符'
,因此不需要使用双引号"
。这相当于说:
'But it didn\'t sing'
然而,Python解释器将尝试遵循Python Zen(使用最简单的选项)。在这种情况下,最简单的选择是使用双引号并将单引号放入其中。试试这个短语:
"My name is \"__!\""
您会看到它正在打印:'My name is "__!"'
(最简单的选项)