【问题标题】:Python Module and Class - AttributeError: module has no attributePython 模块和类 - AttributeError:模块没有属性
【发布时间】:2023-04-06 04:23:01
【问题描述】:

我是 python 新手,我正在尝试创建一个模块和类。

如果我尝试导入mystuff,然后使用cfcpiano = mystuff.Piano(),我会收到错误:

AttributeError: module 'mystuff' has no attribute 'Piano'

如果我从mystuff import Piano 尝试,我会得到:

ImportError: cannot import name 'Piano'

有人可以解释发生了什么吗?如何在 Python 中使用模块和类

mystuff.py

def printhello():
    print ("hello")

def timesfour(input):
    print (input * 4)


class Piano:
    def __init__(self):
        self.type = raw_input("What type of piano? ")

    def printdetails(self):
        print (self.type, "piano, " + self.age)

Test.py

import mystuff 
from mystuff import Piano 
cfcpiano = mystuff.Piano()
cfcpiano.printdetails()

【问题讨论】:

  • mystuff 目录中有__init__.py 文件吗?
  • 我们可以查看您的完整文件层次结构吗?
  • Test.pymystuff.py 必须在同一个文件夹中,您的代码才能正常工作。
  • 这是一个很长的镜头..但是从您的文件夹中删除所有 .pyc 文件
  • 我没有 init 文件,我使用 Anaconda,创建了一个项目,然后添加了一个模块。

标签:
python
class
module