【问题标题】:"Return" does not return anything in Spyder. It works fine with other IDE“返回”在 Spyder 中不返回任何内容。它适用于其他 IDE
【发布时间】:2021-03-04 01:06:50
【问题描述】:

我刚搬到 Python 的 spyder,返回函数似乎不起作用:

def test():
   return 2
test()

IPython 控制台为空。如果我使用 print 而不是 return 它工作正常。有什么想法吗?

我使用 python 3.7 和 Spyder 4.1.5

提前致谢!

【问题讨论】:

  • 您没有打印该值。使用print(test())
  • 如果您只是输入函数名称并调用它或变量名称,某些 IDE 会自动打印变量内容,例如在 IDLE 中。 Spyder 不会,您的代码本身不会打印任何内容
  • @MelvinAbraham 谢谢!但这应该只适用于返回。它适用于 Jupiter,也适用于我同事的 Spyder。
  • Jupyter notebook 和 python 控制台只是 REPL 而不是 IDE。它们并不特别需要 print() 函数,但是当您使用 IDE 或仅使用 python3 script.py 之类的东西运行 python 程序时,除非被要求,否则它们不会打印任何内容。
  • 很好,因为它们是您以交互方式运行代码行的环境,Jupyter 和 Python REPL 会自动打印您运行的函数的返回值(如果它不是 None)或你评价的任何东西。如果您想在其他环境中显示任何内容,您应该自己打印。

标签: python function spyder


【解决方案1】:

编辑器将您的代码作为普通 python 脚本处理,这意味着语句 ala
test() 不要打印他们的结果。相反,您需要对返回的值做一些事情,例如将其分配给变量或打印它。

你得到立即显示的结果是python控制台的一个特殊功能,而不是正常的python行为。

要实际打印结果,您必须调用print(test()) 所以试试这个:

 def test():
return 2
enter    
 >>press enter
print(test()
 >>press enter 

【讨论】:

    猜你喜欢
    • 2013-03-04
    • 1970-01-01
    • 2020-04-27
    • 2019-04-06
    • 2012-02-15
    • 2020-09-07
    • 2021-11-22
    • 2015-11-06
    • 2013-11-14
    相关资源
    最近更新 更多