我是Python的新手,遇到了问题:我想写一个函数(Jacobian
),它接受一个函数和一个点作为参数,并返回该函数的jacobian给定的点。
不出所料,Jacobian
依赖于NumPy和SciPy。当我从另一个脚本调用Jacobian
时,我会得到:
Jacobian
中有NumPy / SciPy的导入语句时)或zeros()
)的错误(当我省略import语句以避免上述错误时。我做错了什么?
此外,如果有人知道Jacobian
的实现,那么这也是有用的。在SciPy中似乎没有一个。
答案 0 :(得分:2)
您可以在模块级别导入,然后在任何函数内使用导入的名称。 或者,您可以直接在函数内导入任何必需的名称。
有一种情况是你不能在函数中使用import
:你不允许from somemodule import *
,因为Python编译器想知道函数中的所有局部变量并且import *
1}}它无法预先告诉将导入哪些名称。
解决方案很简单:永远不要使用import *
,始终完全导入您要使用的名称。
P.S。如果您复制出现问题的代码以及您收到的完全错误消息,则会有所帮助。我猜这是你的问题,但如果你提供相关细节,你会得到更快更准确的答案。