repr() 在 IDLE 和 Windows Powershell 中输出不同

repr() output different in IDLE and Windows Powershell

使用 ex1.py 内容执行 python ex1.pyprint repr('foo') 产生

'foo'

但是在 IDLE 上执行 repr('foo') 会产生

"'foo'"

或者,在 IDLE 上执行 print repr('foo') 会产生

'foo'

并使用 ex1.py 内容执行 python ex1.pyrepr('foo') 显然会产生

\n

对于前三种情况...这是怎么回事?

repr('foo') 是一个表达式,其值为 5 个字符的字符串 'foo'.

因此:

  1. 打印repr('foo')的结果会显示'foo'.
  2. 在Python解释器(例如IDLE的shell)中输入repr('foo')将显示'foo'的repr,即"'foo'"
  3. 运行 仅包含代码 repr('foo') 的 Python 脚本不会打印任何内容,因此您只会得到一个空输出( \n 可能是由你的 shell).

repr() - Return 包含对象的可打印表示的字符串。

print repr('foo')的输出是'foo'

当你从 shell 中 运行 时,你会得到带有引号(string) => "'foo'"

的输出

当您从 python 脚本中 运行 print repr('foo') 时,您将输出字符串打印为 => 'foo'

如果您只是将 repr('foo') 放入脚本中,您什么也得不到,因为您没有打印语句来打印输出。