NameError:未定义名称'func'

Rob*_*eph -3 python nameerror

有谁知道我为什么会在这里收到"func undefined"错误?一切看起来都对我不对.

// dictutil.py
def func(L):
    d = {}
    for i in range(len(L)):
        d[i] = L[i]
    return d
Run Code Online (Sandbox Code Playgroud)

// Python命令行提示符:

import dictutil(尝试加载dictutil.py)

错误:

回溯(最近一次调用最后一次):NameError中的文件"",第1行:未定义名称'func'

小智 5

虽然您的代码是正确的,但您还没有导入func到命名空间(这是NameError试图告诉您的).

你有选择:

1)在导入时导入func()到命名空间:

from dictutil import func
Run Code Online (Sandbox Code Playgroud)

2)func()通过引用包含该函数的模块来限定调用:

dictutil.func()
Run Code Online (Sandbox Code Playgroud)

通常,您可以使用以下dir()方法查看本地范围命名空间中的内容(意味着可以直接调用它):

>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'dictutil', 'readline', 'rlcompleter']
Run Code Online (Sandbox Code Playgroud)