【问题标题】:Python - Import module which need to import other modulePython - 需要导入其他模块的导入模块
【发布时间】:2020-01-30 00:55:35
【问题描述】:

我制作了一个制作线性回归模型并绘制图表的模块。 所以模块需要导入一些包,比如sklearn和matplotlib。 我想将此模块导入另一个python文件并使用它。

我认为这两个python文件中的任何一个都需要导入上述包.. 其中哪些需要导入?

在以下情况下,my_module.py 应该导入 LinearRegression?还是 my_module2.py 应该?

例如)

my_module.py
---------------------------

**from sklearn.linear_model import LinearRegression**?

class myclass:  
   def a (self):  
   lr = LinearRegression()


my_module2.py
------------------------------
**from sklearn.linear_model import LinearRegression**?

from my_module import myclass  

i = myclass()  
i.a()

【问题讨论】:

  • 任何直接依赖项都应该在所有模块中导入。如果您要导入的模块依赖于其他一些模块,则应该导入它们。如果你的主脚本依赖于这些模块,它应该导入它们。
  • 所以你是说,在我的例子中,如果 my_module2.py 没有使用 LinearRegression 模块的代码,那么 my_module2 不需要导入 LinearRegression?
  • 我是说你不应该使用你不直接导入的东西,你不应该导入你不需要的东西。为什么要在my_module2.py 中导入LinearRegression

标签: python import module


【解决方案1】:

首先将其导入my_module.py,然后将*从my_module.py导入my_module2.py

my_module.py
---------------------------
from sklearn.linear_model import LinearRegression

class myclass:  
   def a (self):  
       lr = LinearRegression()


my_module2.py
------------------------------
from my_module import *

i = myclass()  
i.a()

【讨论】:

  • "然后导入 *"——为什么是 import *?这是一个坏习惯。
猜你喜欢
  • 1970-01-01
  • 2017-10-05
  • 1970-01-01
  • 1970-01-01
  • 2019-11-19
  • 2015-10-06
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
相关资源
最近更新 更多