题目
本题仍然是打印练习。
加分练习
- 检查结果,记录错误并尽力避免再次犯错。
- 程序最后一行既有单引号又有双引号,它是如何工作的?
我的答案
formatter = "%r %r %r %r"
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.",
"That you could type up right.",
"But it didn't sing.",
"So I said goodnight."
))
结果中标黄的部分是双引号,原因在于 %r 格式化字符后是显示字符的原始数据。而字符串的原始数据包含引号,所以我们看到其他字符串被格式化后显示单引号。
而这条双引号的字符串是因为原始字符串中有了单引号,为避免字符意外截断,python 自动为这段字符串添加了双引号。
本文介绍了一个Python打印练习的实现过程及结果分析。通过使用格式化字符%r来展示不同类型的数据打印效果,解释了为何某些字符串会被用双引号括起来而非单引号。
3589





