首页 > 解决方案 > Python中的格式化程序

问题描述

我有这行代码:

格式化程序 = "%r %r %r %r"

打印格式化程序 % (1, 2, 3, 4) 打印格式化程序 % ("一", "二", "三", "四") 打印格式化程序 % (True, False, False, True) 打印格式化程序 % (格式化程序, formatter, formatter, formatter) print formatter % ( "我有这个东西给你。", "你可以正确输入。", "但它没有唱歌。", "所以我说晚安。")<< <

最后 4 行的输出是:

“我有这个东西给你。” “你可以正确输入。” “但它没有唱歌。” “所以我说晚安。” <<<

我想了解为什么第三句显示在双引号中,而其他句子显示在单引号中。

我试过删除双引号,但它没有产生预期的结果。


print formatter % (1, 2, 3, 4)
print formatter % ("one", "two", "three", "four")
print formatter % (True, False, False, True)
print formatter % (formatter, formatter, formatter, formatter)
print formatter % (
    "I had this thing for you.",
    "That you could type up right.",
    "But it didn't sing.",
    "So I said goodnight."

标签: python-2.7formatter

解决方案


'这是因为你在字符串中有撇号。如果删除它,它将被打印为'But it didnt sing.' It's 以区分字符串限制。如果它被打印出来会有点混乱''But it didn't sing.'

PS。如果你在你的字符串中添加'"符号,那么事情会变得更加有趣。自己试试。


推荐阅读