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

Posted

技术标签:

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

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

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

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

    class Option(object):
      def _init_ (self, S0, ..., params):
           self.So = S0
           ...
           self.div = params.get('div',0)
           ...
    

    然后我为期权的估值构建一个类(让我们使用二项式模型)

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

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

ImportError: No module named 'Option'

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

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

【问题讨论】:

***.com/questions/2349991/…中的可能答案 Option 定义在哪里?它在一个名为 Option.py 的文件中吗?该文件是在您的 Python 路径上,还是在与定义 BinomialOption 的目录相同的目录中? 请注意'_init_' != '__init__'... 【参考方案1】:

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

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

How to fix "ImportError: No module named ..." error in Python? Python import error: 'No module named' does exist

【讨论】:

以上是关于如何在其他类/模块中正确导入/使用我在 Python 中构建的类和模块? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

用Python正确导入文件/模块

使用类在行上导入文件

python 模块导入

python 3 基础之模块的制作导入

模块简介模块的两种导入语句导入文件的补充判断文件类型模块的查找顺序

如何在 Python 模块中正确使用相对或绝对导入?