为什么我不能在python中导入一个类?

时间:2015-10-22 07:00:56

标签: python

这是我的文件夹结构:

├── Basic
├── Coche
│   ├── __init.py__
│   ├── coche.py
├── miPrimerCoche.py

我想在miPrimerCoche中导入类“coche.py”。 在coche.py我有这个:

class Coche:

    def __init__(self, marca, color, caballos):
        self.marca = marca
        self.color = color
        self.caballos = caballos

    def datos(self):
        return "Este coche es un: " + self.marca + \
           " de color: " + self.color + " y con: " + str(self.caballos)    + " caballos"

而且,在miPrimerCoche中我有这个代码:

from Coche import coche

miMercedes = coche("Toyota", "verde", 50)
print miMercedes.marca
print miMercedes.datos()

然后,当我运行miPrimerCoche时,我收到此错误:

Traceback (most recent call last):
  File     "/Users/personalUser/PycharmProjects/untitled/Basic/importar_clase.py",    line 3, in <module>
    miMercedes = coche("Toyota", "verde", 50)
TypeError: 'module' object is not callable

Basic是src文件夹(它是蓝色),我能做什么?

我决定用

  miMercedes = coche.Coche(par1, par2, par3...)

但我不知道是否是这样做的好方法。

1 个答案:

答案 0 :(得分:5)

miPrimerCoche.py

的角度来看
  • Coche是一个模块(文件夹Coche
  • Coche.coche是子模块(文件coche.py
  • Choche.coche.Coche是子模块Coche
  • 中的课程Coche.coche

所以你真的想要:

from Coche.coche import Coche

您导入的coche只是(子)模块,因为错误指出了。