【发布时间】:2023-03-16 15:30:01
【问题描述】:
我今天遇到了一些不同的事情。考虑这个简单的函数:
def hi():
return 'hi'
如果我在 Python shell 中调用它,
>>> hi()
'hi'
>>> print hi()
hi
它会打印出“返回”值,即使它只是 repr。这让我觉得很奇怪,怎么会返回打印到标准输出?所以我把它改成了要运行的脚本:
def hi():
return 'hi'
hi()
我从终端运行这个:
上次登录时间:周一 6 月 1 日 23:21:25 在 ttys000 imac:~ zinedine$ cd 文件 imac:documents zinedine$ python hello.py imac:文件 zinedine$貌似没有输出。然后,我开始认为这是一件空闲的事情,所以我尝试了这个:
最后登录时间:Tue Jun 2 13:07:19 on ttys000 imac:~ zinedine$ cd 文件 imac:documents zinedine$ idle -r hello.py这是空闲时显示的内容:
Python 2.7.6(v2.7.6:3a1db0d2747e,2013 年 11 月 10 日,00:42:54) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] 在 darwin 键入“copyright”、“credits”或“license()”以获取更多信息。 >>> >>>所以返回打印 only 在交互式 python shell 中。这是一个功能吗?这应该发生吗?这样做有什么好处?
【问题讨论】:
标签: python return stdout python-idle