在交互式解释器上得到的反馈使用repr我也是。当您输入一个表达式时(让它成为expr),解释器基本上result = expr; if result is not None: print repr(result)..所以你的例子中的第二行是格式化字符串foo你想要的表示法('foo')。然后解释器创建repr对.的支持那,那个给你留下双引号。为什么当我将%r与双引号和单引号合并后转义并打印出来,它就会以我在.py文件中写它的方式打印出来,而不是以我想看到的方式打印它?我不知道你在问什么。正文single ' and double " quotes,穿过时repr,包括逃避一种引用。当然可以,否则它将不是Python规则中有效的字符串文字。这正是你打电话要求的repr.还请注意,eval(repr(x)) == x比喻不是字面意思。这是一个近似,并适用于大多数(所有?)内建类型,但最主要的是,您可以很好地了解类型和逻辑“值”。repr输出。