Python:在函数内调用外部函数

时间:2011-12-20 21:22:42

标签: python python-3.x

我是Python的新手,遇到了问题:我想写一个函数(Jacobian),它接受一个函数和一个点作为参数,并返回该函数的jacobian给定的点。

不出所料,Jacobian依赖于NumPy和SciPy。当我从另一个脚本调用Jacobian时,我会得到:

  1. 我无法将模块导入函数的错误(当我在Jacobian中有NumPy / SciPy的导入语句时)或
  2. 未定义各种NumPy / Scipy函数(例如zeros())的错误(当我省略import语句以避免上述错误时。
  3. 我做错了什么?

    此外,如果有人知道Jacobian的实现,那么这也是有用的。在SciPy中似乎没有一个。

1 个答案:

答案 0 :(得分:2)

您可以在模块级别导入,然后在任何函数内使用导入的名称。 或者,您可以直接在函数内导入任何必需的名称。

有一种情况是你不能在函数中使用import:你不允许from somemodule import *,因为Python编译器想知道函数中的所有局部变量并且import * 1}}它无法预先告诉将导入哪些名称。

解决方案很简单:永远不要使用import *,始终完全导入您要使用的名称。

P.S。如果您复制出现问题的代码以及您收到的完全错误消息,则会有所帮助。我猜这是你的问题,但如果你提供相关细节,你会得到更快更准确的答案。