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

Why I can′t import a class in python?

这是我的文件夹结构:

1
2
3
4
5
├── Basic
├── Coche
│   ├── __init.py__
│   ├── coche.py
├── miPrimerCoche.py

我想导入miprimercoche中的"coche.py"类。在coche.py中,我有:

1
2
3
4
5
6
7
8
9
10
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中,我有以下代码:

1
2
3
4
5
from Coche import coche

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

然后,当我运行miprimercoche时,我得到以下错误:

1
2
3
4
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

基本是SRC文件夹(蓝色),我能做什么?

我解决了

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

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


miPrimerCoche.py的观点来看:

  • Coche是一个模块(Coche文件夹)
  • Coche.coche是一个子模块(文件coche.py)
  • Choche.coche.Coche是子模块Coche.coche中的Coche类。
  • 小精灵

    所以你实际上想要:

    1
    from Coche.coche import Coche

    正如错误指出的那样,您要导入的Coche只是(子)模块。