如何在其他类/模块中正确导入/使用我在Python中构建的类和模块?

How do I properly import/use classes and modules I built in Python in other classes/modules?

本问题已经有最佳答案,请猛点这里访问。

我正从一种功能性方法转向一种更面向对象的方法,以便在python中构建(衍生)金融工具的估值模型库。我不断收到我不理解的错误信息。

让我先解释一下我在做什么:

  • 我创建了一个类,在该类中定义和存储我正在为其构建评估模型的产品的公共属性。例如,让我们使用类Option

    1
    2
    3
    4
    5
    6
    class Option(object):
      def _init_ (self, S0, ..., params):
           self.So = S0
           ...
           self.div = params.get('div',0)
           ...
  • 然后我为期权的估价建立一个类(让我们使用二项式模型)

    1
    2
    3
    4
    5
    6
    from Option import Option

    class BinomialOption(Option):    
        def _setup_parameters_(self):
            self.X = ...
            ........
  • 执行此操作时,会收到导入错误:

    1
    ImportError: No module named 'Option'

    我不明白为什么会这样。我创建了一个类,在运行二项分解类之前运行它。

    为什么会收到此错误消息?我该如何预防呢?


    让我猜猜,你有一个libs目录和其他程序目录,不是吗?如果是这样的话,你的路径有问题。

    在StackOverflow中,您已经有了与答案类似的问题:

    • 如何修复python中的"importError:no module named…"错误?
    • python导入错误:"不存在名为"的模块