【发布时间】: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)或你评价的任何东西。如果您想在其他环境中显示任何内容,您应该自己打印。