我是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)
测试文件
import mystuff
from mystuff import Piano
cfcpiano = mystuff.Piano()
cfcpiano.printdetails()
最佳答案
如果要创建一个名为mystuff
的python模块
mystuff
的文件夹__init__.py
文件#__init__.pyfrom mystuff import Piano #import the class from file mystufffrom mystuff import timesfour,printhello #Import the methods
mystuff.py
复制到文件夹mystuff
test.py
之外创建文件mystuff
。#test.pyfrom mystuff import Pianocfcpiano = Piano()cfcpiano.printdetails()
这将起作用。