在 .py 文件中我有以下内容:
class avgbox:
def __init__(self,t,n,a):
self.t = t
self.n = n
self.a = a
def add(x):
self.t += x
self.n += 1
self.a = t/n
现在,当我在从 ubuntu 命令行运行的交互式 python shell 中执行 from file.py import * 时,它没有显示任何错误。然后当 a = avgbox(0,0,0) 时,它说 NameError: name 'avgbox' is not defined。有任何想法吗?我在这里做错了什么?谢谢!
请您参考如下方法:
我将您的代码复制并粘贴到名为“file.py”的文件中。然后我做了以下事情:
from file import *
avgbox(1, 2, 3)
成功了。也许你的错误是你在执行 from file.py import * 而你应该执行 from file import * 请记住,当 Python 搜索模块名称时,它会自动附加.py 到模块的名称,如果它正在当前目录中查找 Python 文件。当然,您也可以使用 from 语法在包内搜索,但那是另一回事。
