【问题标题】:How do i import modules into classes when they are instantiated in python?在 python 中实例化模块时,如何将模块导入类?
【发布时间】:2020-06-18 01:49:44
【问题描述】:

我有一个班级“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

【问题讨论】:

  • 为什么要在类内部而不是在脚本顶部导入?但请记住,函数范围就是这样,它会持续函数的生命周期。

标签: python class import module


【解决方案1】:

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

ModuleY.py

def do_something():
    print("something")


main.py 

import ModuleY

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多