NameError: name 'func' is not defined
NameError: name 'func' is not defined
有人知道为什么我会在这里收到 "func undefined" 错误吗?在我看来一切都是正确的。
// dictutil.py
def func(L):
d = {}
for i in range(len(L)):
d[i] = L[i]
return d
// Python 命令行提示符:
import dictutil (attempt to load dictutil.py)
错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'func' is not defined
虽然您的代码是正确的,但您没有将 func
导入到您的命名空间中(这是 NameError 试图告诉您的)。
您有以下选择:
1) 在导入时将 func()
导入到您的命名空间中:
from dictutil import func
2) 通过引用包含函数的模块限定对 func()
的调用:
dictutil.func()
通常,您可以使用 dir()
方法查看本地范围的命名空间中的内容(意味着可以直接调用它):
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'dictutil', 'readline', 'rlcompleter']
您必须像这样访问函数:
import dictutil
dictutil.func()
有人知道为什么我会在这里收到 "func undefined" 错误吗?在我看来一切都是正确的。
// dictutil.py
def func(L):
d = {}
for i in range(len(L)):
d[i] = L[i]
return d
// Python 命令行提示符:
import dictutil (attempt to load dictutil.py)
错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'func' is not defined
虽然您的代码是正确的,但您没有将 func
导入到您的命名空间中(这是 NameError 试图告诉您的)。
您有以下选择:
1) 在导入时将 func()
导入到您的命名空间中:
from dictutil import func
2) 通过引用包含函数的模块限定对 func()
的调用:
dictutil.func()
通常,您可以使用 dir()
方法查看本地范围的命名空间中的内容(意味着可以直接调用它):
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'dictutil', 'readline', 'rlcompleter']
您必须像这样访问函数:
import dictutil
dictutil.func()