【问题标题】:Why does this return None?为什么这会返回 None?
【发布时间】:2016-08-03 23:47:57
【问题描述】:

我正在测试repl.it(运行 Python 3.5.1),我注意到在控制台的每一行输入之后,控制台都会回复 None。我没有使用任何带有忘记返回值的花哨定义,即使在赋值语句之后也会发生这种情况。这里发生了什么?

例子:

x,y,z=1,2,3
=> None
print(x+y+z)
6
=> None

【问题讨论】:

  • 语句不返回任何内容,print 函数返回None
  • 您的代码完全按照原样执行,在解释器中键入每一行并按回车,这正是它应该做的。在你做 x,y,z = 1,2,3 之后试试这个然后只需输入 x 然后输入 y 然后输入 z 然后输入你应该看到 1 然后 2 然后 3
  • @Andy 它与 repl.it 没有太大关系,除了网站总是打印语句返回的任何内容,并且正常 REPL 的默认行为是不打印任何内容,如果返回值为无。
  • 让我们反过来说:您期望它会有什么不同?
  • 在我的本地解释器上,打印语句只会输出打印的值,根本不给我返回。

标签: python python-3.5


【解决方案1】:

None 是没有返回值的语句的默认返回值。有些解释器 shell 显示它,有些则不显示。

这很正常,不用担心。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-17
    • 1970-01-01
    • 2021-03-23
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多