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

标签 python class ubuntu command-line

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

关于python - 在交互式 Python Shell 中实例化一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18771874/

相关文章:

python - 'class' 任务需要指导(初学者)

html - 单击不同的 li 后显示不同的图像(作为第二个菜单)

php - 在页面上启动大类会减慢速度吗?

python-2.7 - 无法安装 Tensorflow(内存错误)

Python:如何查看 Unix 时间戳是在一天中的某个时间之前还是之后

Python解析一个巨大的文件

python - 为 Django 存档页面选择不同的年份和月份

python - 使用 C 将 numpy 数组对象拆分为两个不同大小的 vector

ubuntu - sed 无法从文件中删除

linux - 如何在 guake 中禁用自动重命名