在Ipython中,return语句是否像print那样工作?
我有一段Python代码,代码里我写了一个函数,函数的名字和程序的名字是一样的,并且我给这个函数设置了一个入口点,代码如下:
import math
def Problem1():
total=0
for i in range(1000):
if i%3 == 0 or i%5==0 or i%6==0 or i%9==0:
total=total+i
return total
然后我打开终端,运行了IPython,并执行了以下语句:
import Problem1
Problem1.Problem1()
结果打印出了输出,虽然我没有写打印语句,但我给了一个返回语句,那这是怎么回事呢?
还有一个问题:我怎么能直接从命令行运行这个程序,也就是说,怎么在Python中实现类似C语言里的void main()的功能呢?
1 个回答
1
IPython的作用是,当你调用一个函数或变量时,它会直接显示输出。
也就是说,如果你只输入一个变量的名字然后按回车,它就会把这个变量的值打印出来。对于函数的输出也是一样的。这种行为在交互式命令行中是很正常的。
这样设计的原因是,当你在进行交互式操作时,通常希望能直接看到输出结果。
如果你想运行这些代码,你需要把代码放在一个*.py文件里,然后在文件的底部调用这个函数。这样你就不需要写void main()了。接着,你可以用解释器来执行代码,也就是:
python yourfile.py
不过,有一个远程的类似的模式和void main()的概念。
需要注意的是,因为Python是一种解释型语言,你可以简单地把
print "hello world"
放在一个*.py文件里,然后用Python可执行文件来运行它,它就能立刻工作。你不需要定义一个"main()"函数。