如何在继承的 class 上使用 python 模块

How to use a python module on inherited class

我在 base.py 中有一个基地 class A:

import module1

class A:
  def test(self):
     module1.sample("test")

然后在 new.py 我创建了一个新的 class B 它继承了 A 并覆盖了 test 方法:

from base import A
class B(A):
    def test(self):
        module1.sample("test")
        print("Testing...")

问题是 module1new.py 中不再可用。在 new.py 中是否有不需要再次导入 module1 的选项?

一种不推荐实现您想要的方法是使用__builtins__。将以下行添加到 base.py.

__builtins__['module1'] = module1

那么 module1 不再是 new.py 的未定义。肯定是在__builtins__.

中定义的

同样,不推荐,但是,了解 Python 的工作原理很好。你最好也从 new.py import module1

import module1

from base import A
...