Skip to main content
 首页 » 编程设计

python之在交互式 Python Shell 中实例化一个类

2025年05月04日11kenshinobiy

在 .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 语法在包内搜索,但那是另一回事。