在Ipython中,return语句是否像print那样工作?

1 投票
1 回答
1537 浏览
提问于 2025-04-18 01:34

我有一段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()"函数。

撰写回答