为何return bool语句在命令提示符与IDE(Atom)中执行结果存在差异
为什么命令提示符和Atom运行同一段Python代码结果不同?
这事儿其实是Python两种运行模式的差异搞的鬼,我来给你掰扯清楚:
命令提示符的交互模式:你应该是在命令行里输入
python进入了交互式环境,然后逐行敲的代码对吧?这种模式下,Python有个贴心特性——它会自动打印最后一行表达式的返回值。所以当你敲完search_for_vowels('galaxy'),Python就直接把函数返回的True(因为'galaxy'里包含元音'a')给你打印出来了。Atom的脚本运行模式:Atom是把你的代码当成完整脚本文件执行的,这种模式下Python不会主动帮你打印任何返回值,除非你明确告诉它要输出。你的代码里只是调用了
search_for_vowels('galaxy'),函数确实执行了也得到了返回值,但这个值只存在内存里,没有被输出到控制台,所以你看不到任何结果。
快速解决方法
把调用函数的那一行改成带print()的形式就行:
print(search_for_vowels('galaxy'))
这样不管是在Atom里运行,还是把代码存成文件在命令提示符里用python 你的文件名.py运行,都能看到明确的输出结果了。
顺带验证一下:你可以把代码存成.py文件,然后在命令提示符里用脚本模式运行,这时候也会没有输出——这就说明问题确实出在运行模式的差异上,不是Atom的问题哦。
内容的提问来源于stack exchange,提问作者Praveen Paliwal
相关产品推荐
相关产品推荐

