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

Leo*_*ani 0 python

这是我的文件夹结构:

??? Basic
??? Coche
?   ??? __init.py__
?   ??? coche.py
??? miPrimerCoche.py
Run Code Online (Sandbox Code Playgroud)

我想在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"
Run Code Online (Sandbox Code Playgroud)

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

from Coche import coche

miMercedes = coche("Toyota", "verde", 50)
print miMercedes.marca
print miMercedes.datos()
Run Code Online (Sandbox Code Playgroud)

然后,当我运行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
Run Code Online (Sandbox Code Playgroud)

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

我解决了

  miMercedes = coche.Coche(par1, par2, par3...)
Run Code Online (Sandbox Code Playgroud)

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

dec*_*eze 5

从以下观点来看miPrimerCoche.py:

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

所以你真的想要:

from Coche.coche import Coche
Run Code Online (Sandbox Code Playgroud)

coche要导入只是(子)模块,作为错误指出.