我正在学习 Python,所以我可以修补 files from AIMA容易地。我知道 Java 和 C++,但我发现存储库中的 AIMA 代码过于困惑。 Python 代码看起来更简单、更优雅……然而,我不懂 Python。
我想导入 search.py 中的函数.
我试过像这样创建一个 search2.py 文件:
import search
class Problem2(Problem):
pass
在search.py所在的文件夹中得到:
~/aima/aima-python$ python search2.py
Traceback (most recent call last):
File "search2.py", line 3, in <module>
class Problem2(Problem):
NameError: name 'Problem' is not defined
这是为什么?
请您参考如下方法:
当您import search 时,您将名称search 定义为通过执行search.py 创建的模块。如果有一个名为 Problem 的类,您可以将其作为 search.Problem 访问:
import search
class Problem2(search.Problem):
pass
另一种方法是使用以下语句定义问题:
from search import Problem
它执行 search.py,然后在您的文件中将 Problem 定义为新创建的搜索模块中的名称 Problem。请注意,在此表单中,名称 search 未在您的文件中定义。
