在python中实例化模块时,如何将模块导入类中?

在python中实例化模块时,如何将模块导入类中?,python,class,import,module,Python,Class,Import,Module,我有一个班级“ClassX”。其中有多个函数定义,每个函数以不同的方式使用同一个模块。假设导入的模块是“ModuleY”。当我实例化这个类时,如何让它以一种所有ClassX函数都可以访问的方式导入这个模块? 也就是说,我会像这样导入它: class ClassX(): def __init__(self): import ModuleY 像这样: class ClassX(): import ModuleY def __init(self): #do

我有一个班级“ClassX”。其中有多个函数定义,每个函数以不同的方式使用同一个模块。假设导入的模块是“ModuleY”。当我实例化这个类时,如何让它以一种所有ClassX函数都可以访问的方式导入这个模块? 也就是说,我会像这样导入它:

class ClassX():
   def __init__(self):
      import ModuleY
像这样:

class ClassX():
   import ModuleY
   def __init(self):
      #do something
或者我必须为每个函数调用导入模块:

class ClassX():
   def __init__(self):
      #do something#
   def functionA(self):
      import ModuleY
      #do something
   def functionB(self):
      import ModuleY
      #do something

只需正常导入ModuleY,然后根据需要在脚本的其他部分中引用ModuleY中的函数

ModuleY.py

def do_something():
    print("something")


main.py 

import ModuleY

class ClassX():
    def __init__(self):
      # do_something()
      # prints "something"

为什么要在类内部导入而不是在脚本顶部导入?但是请记住,函数的作用域仅限于此,它将持续函数的生命周期。