【问题标题】:How do I properly import/use classes and modules I built in Python in other classes/modules? [duplicate]如何在其他类/模块中正确导入/使用我在 Python 中构建的类和模块? [复制]
【发布时间】:2016-02-17 06:59:05
【问题描述】:

我正在从函数式方法转向更加面向对象的方法,以在 Python 中为(衍生)金融工具构建估值模型库。 我不断收到我不理解的错误消息。

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

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

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

    from Option import Option
    
    class BinomialOption(Option):    
        def _setup_parameters_(self):
            self.X = ...
            ........
    

当我这样做时,得到一个导入错误:

ImportError: No module named 'Option'

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

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

【问题讨论】:

  • Option 定义在哪里?它在一个名为 Option.py 的文件中吗?该文件是在您的 Python 路径上,还是在与定义 BinomialOption 的目录相同的目录中?
  • 请注意'_init_' != '__init__'...

标签: python


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-29
    • 2020-01-10
    • 2021-03-13
    • 2021-02-04
    • 1970-01-01
    • 2011-10-15
    • 2013-07-26
    • 2021-06-09
    相关资源
    最近更新 更多