2010-12-08 111 views
1

Python在哪里保存上次操作的结果?python保存上次操作的结果吗?

例如,如果上一次操作是math.sqrt(9),Python在哪里保存值3.0?

或者如果最后的操作是"hello " + "world!",那么值'hello world!'保存在哪里?

我想从C程序(使用Python的C API)接近这个值,并将此值传递给char*变量。

+0

也许你可以给出一个具体的例子,说明你想要做什么,它应该在C中做什么和在Python中做什么。为什么标记为C#? – 2010-12-08 12:50:31

+0

我有一个C程序。该程序运行一些python脚本,我需要的是一种方式来捕获,在C代码中,所有的输出python使...用于GUI目的 – user534976 2010-12-11 14:11:47

回答

6

Python本身并不保存上次操作的结果。 Python REPL将最后的结果保存在_中,但在这种情况下您不会使用REPL。

+2

@ user534976:REPL表示Read-Eval-Print-Loop,这里指的是到Python的交互式控制台或命令行shell。当你执行一个Python脚本时,这通常不会涉及到,除非你通过``import``来从shell执行它。 – martineau 2010-12-08 16:38:42

6

它没有。

这听起来像你想从C调用Python代码,并在其余的C代码中使用结果。

你要做的是在Python代码中编写一个函数,并用它的返回值。它将从调用Python函数的C API函数中作为PyObject*传回。