我该怎么玩这个.py文件?

and*_*and 1 python

我正在学习Python,所以我可以轻松地修改AIMA中的文件.我知道Java和C++,但我发现存储库中的AIMA代码太混淆了.Python代码看起来更简单,更优雅......但是,我不知道Python.

我想在search.py​​中导入函数.

我尝试像这样创建一个search2.py文件:

import search

class Problem2(Problem):
    pass
Run Code Online (Sandbox Code Playgroud)

在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
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

Ned*_*der 7

当您import search,将名称定义search为通过执行search.py​​创建的模块.如果有一个被调用的类Problem,则可以访问它search.Problem:

import search

class Problem2(search.Problem):
    pass
Run Code Online (Sandbox Code Playgroud)

另一种方法是Problem使用此声明进行定义:

from search import Problem
Run Code Online (Sandbox Code Playgroud)

执行search.py​​,然后Problem在您的文件中定义Problem新创建的搜索模块中的名称.请注意,在此表单中,名称search未在您的文件中定义.