python导入类属性不能用_Python模块和类-AttributeError:模块没有属性

I'm new to python and I'm trying to create a module and class.

If I try to import mystuff and then use cfcpiano = mystuff.Piano(), I get an error:

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

If I try from mystuff import Piano I get:

ImportError: cannot import name 'Piano'

Can someone explain what is going on? How do I use a module and class in 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()

解决方案

If you want to create a python module named mystuff

Create a folder with name mystuff

create an __init__.py file

#__init__.py

from mystuff import Piano #import the class from file mystuff

from mystuff import timesfour,printhello #Import the methods

Copy your class mystuff.py to the folder mystuff

Create file test.py outside the folder(module) mystuff.

#test.py

from mystuff import Piano

cfcpiano = Piano()

cfcpiano.printdetails()

This will work.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值