Python中直接调用函数无输出、print调用才有输出的原因是什么?
Python函数调用无输出问题原因
这个差异和Python的运行模式直接相关:
- 如果你是在交互式REPL环境(直接在终端输入
python命令进入的逐行执行环境)中运行代码:单条表达式的返回值会被解释器自动打印到控制台,这时候你直接写myfunc(3,4)就能看到返回的7输出。 - 如果你是把代码保存为
.py文件,通过脚本模式运行:Python只会逐行执行代码,不会自动打印任何顶层表达式的返回值,所有需要输出到控制台的内容都必须显式调用print()函数。你最初的代码中myfunc(3,4)只是完成了函数调用、拿到了返回值7,但你没有对这个返回值做任何后续处理(既没有赋值给变量留存,也没有调用print()输出),所以运行后不会有任何内容显示。
如果需要在脚本模式下拿到函数返回值并输出,写法如下:
def myfunc(x, y): return (x+y) print(myfunc(3,4))
内容的提问来源于stack exchange,提问作者Tanmay Chopra
相关产品推荐
相关产品推荐

